androidadbapk
⑴ 使用adb查看别人家APP的数据
1.说明
2.使用adb命令获取指定应用的包名和Activity名称
3.使用adb命令启动/关闭APP
4.使用adb命令把手机中的apk导到电脑上
5.查看apk中的AndroidManifest.xml文件
6.使用adb命令进行数据备份
7.查看数据
8.结语
查看其它APP数据的前提是该APP默认开启数据备份,也就是allowBackup属性。
想问一下大家在平时的开发中对应用的安全性有很在意么?有可能大家会想到加密、混淆、apk加固,但还有一些其他细节的东西需要大家去了解。今天就介绍一下android:allowBackup属性。这个属性在开发的过程中通常是默认开启的,Google起初是为了防止数据丢失,留下了这个功能,但是这个属性也容易造成一些隐私数据的泄露。如果你想关闭可以把它设置为false。那么这个属性在哪里设置呢,就在AndroidManifest.xml文件中的application标签中。
要备份APP的数据,首先我们要知道这个APP的包名才可以进行备份。
在手机或模拟器上面运行APP,然后输入命令: adb shell mpsys activity top #
这时会输出很多东西,你可以用查找功能Ctrl+F,找到TASK,下图红框中就是要找的包名
命令: adb logcat| findstr START
然后在手机或模拟器上点击你想要获取的应用,这时就会在cmd中出现相应的包名和类名了。
启动APP的命令: adb shell am start -W -n package/activity
命令窗口通过adb shell 进入android 的Linux命令界面,输入am help看到如下信息:
它会展示出在不同场景下(比如start-activity、start-service等)不同参数代表的意义一些参数的意义,情况太多了这里就不细说了。
回到正题,后面的package和activity就是上面获取包名第二种方法中提到的cmp,比如我们要启动谷歌地图: adb shell am start -W -n com.google.android.apps.maps/com.google.android.maps.MapsActivity
在这里我们再做一个延伸, 用命令做APP的冷启动和热启动操作,然后记录启动的时间
我们看到上图中有三个数字ThisTime、TotalTime和WaitTime,这三个数字就是本次启动APP所花费的时间。
热启动时退出退出APP的命令: adb shell input keyevent 3 ,这就相当于按了手机的home键,然后我们再执行启动APP的命令,这样就完成了热启动。
我们看到热启动花费的时间比冷启动少了很多,一套冷、热启动的流程我们就走完了。接下来就看我们怎么去优化了,让它们变的更少。所以我们在平时做启动优化的时候可以把自己的APP和一些优秀的APP做一下对比看看还差多少。
上面已经说过了一种退出APP的方法了,接下来这个命令是相当于杀掉当前的APP进程。
命令: adb shell am force-stop package
这时候再使用启动命令,就相当于冷启动了。
有的时候我们在手机上查看和操作apk不是特别方便,而且通过文件管理找apk也很难找。接下来就介绍怎么用adb命令把手机中的apk导到电脑上。
通过包名获取apk在手机中的存储路径,命令 adb shell pm path package
导出apk文件,到当前目录下
命令: adb pull 路径
这一步就要看一下apk中有哪些东西了,主要还是看一下AndroidManifest.xml文件当中的allowBackup设置。
我平常用的方法就是吧apk文件的后缀该成zip,然后就可以看到里面的东西了。下面的是谷歌地图的apk的构成。
下面来看一下AndroidManifest.xml文件,会看到都是乱码,但是关键的信息还是可以获取的,我们目前想要的就是下图红框中的allowBackup属性,像谷歌的APP肯定是把它设置成false的,所以我们没办法备份它的信息的。
那么我们怎么看一个应用的allowBackup属性设置成true还是false呢,我的观察和实践出来的方法是看allowBackup后面有没有小方框,有就代表设置了true。如果有哪位大神知道好的可靠的方法还请留言告知。
下面是其他apk中的AndroidManifest.xml文件,后面带了个小方框。
在了解到APP可以备份之后,我们就可以开始做坏事了,哈哈。
备份的命令: adb backup -nosystem -all -noapk -noshared -f data.ab package
[-system | -nosystem] 是否备份系统
[-apk | -noapk] 是否备份apk安装文件
[-shared | -noshared] 是否备份手机存储空间
-f *.ab 存档格式一定要是.ab
package:包名
在运行命令之后,手机或模拟器会出现一个页面要求你输入备份密码,这个密码你可以随便输入,但你要记住,在后面查看ab文件的时候会用到。
输入密码,点击【备份我的数据】之后就开始备份了,备份完成之后会有提示,这时就是生产一个ab文件了。
ab文件大家很少接触,这里使用abe工具(链接: https://pan..com/s/1NPbhtF1fyJcHOm1CXwi9Dg
提取码:uns4 )解析ab文件 ,也是通过命令,把abe.jar和刚才生成的ab文件放到同一个文件夹中,然后运行命令: java -jar abe.jar unpack xxx.ab xxx.rar
(如果不想使用命令可以看看这篇文章 https://www.feifeiboke.com/android/3639.html
)
这个命令就是吧ab文件解析成rar文件,这样就能解压了,我们就能看到里面的东西。解压出来大概就是下面这个样子。其中比较重要的是db文件夹和sp文件夹,里面的数据我就不放了,容易引起不必要的误会。你可以自己动手试试。
写这篇文章还是提醒大家在平时的开发中要注重APP数据的安全问题,毕竟数据还是相当重要的。
如果有哪里写的不对的地方,请指出,我会及时改正。
⑵ Android手机软重启adb命令是什么
运行设备的shell(命令行)。
管理模拟器或设备的端口映射。
计算机和设备之间上传/下载文件。
将本地apk软件安装至模拟器或android设备。
ADB一个 客户端-服务器端 程序, 其中客户端是用来操作的电脑,服务器端是android设备。
(2)androidadbapk扩展阅读
1、 查看设备 *adbdevices。这个命令是查看当前连接的设备, 连接到计算机的android设备或者模拟器将会列出显示。
2、 安装软件:adbinstall <apk文件路径>。
这个命令将指定的apk文件安装到设备上。
3、 卸载软件
adbuninstall <软件名>。
adbuninstall -k <软件名>。
如果加 -k 参数,为卸载软件但是保留配置和缓存文件。
⑶ android apk 的root 权限和USB adb 权限的区别
USB adb 权限是指,当adb 连接手机时,手机中的守护进程adbd 的权限为root 权限,从而它的子进程也具有root 权限,通常如果adb shell 看到是:
Android 4.0 以后版本:
C:\Users\mtk29\Desktop>adb shell
root@android:/ #
Android 2.3 版本:
C:\Users\mtk29\Desktop>adb shell
即表明adb 的连接是root 权限的,相反如果看到是$ 即表明是shell 权限
Android 的APK 本身都是不具备root 权限的,如果想启用root 权限,那么就必须借助具有root 权限的进程或者具有s bit 的文件,目前比较通用的手法是,手机root 后,内置了su到system/bin, 然后普通APP 即可借助su 命令来达到root 权限切换。
网络上已经有同仁修改su 命令,并通过一个APK 来控制su 命令的权限控制。
如常见的Superuser: 这样即可人为的控制root 权限的使用。((因很久都没有更新了,只能用于ICS 以及以前的版本))
综上所叙,如果adb 已经有root 权限,那么让apk 行使root 权限就很简单了。比如在JB 版本或者以前的版本上:
adb remount
adb push su /system/bin
adb push Superuser.apk /system/app
adb shell chmod 0644 /system/app/Superuser.apk
adb shell chmod 6755 /system/bin/su
adb reboot
⑷ android怎么通过adb启动apk
使用以下命令可以启动apk,其中的package和launch_activity有很多方法可以获取,详细地请参考网页链接这篇经验。
adb shell am start -n package/launch_activity
⑸ Android通过ADB降级安装软件方法
adb安装apk常用命令如下:
adb install D:\demo.apk
即install后面接包在电脑上的路径,这里要确保已经通过adb连接到设备,常用以下命令连接,确保电脑与设备处于同一个局域网:
adb connect 设备ip
查看已连接设备,确保贺高手机已连接到电脑:
adb devices
如果需要替换原来的应用,上面的安装命令是行不通的,需要加上“-r”,即替换原来的应用:
adb install -r D:\demo.apk
那如果是降级安装呢?指氏再加“-d”:
adb install -r -d D:\demo.apk
这里的“r”指的是“replace”,替禅逗尺换原来的应用;“-d”指的是“downgrade”,降级安装。
⑹ android adb是什么意思
adb的全名是Android调试桥,它充当调试桥。Adb是Android SDK中的工具,使用此工具,您可以直接操作和管理Android模拟器或真实的Android设备(例如G1手机)。
Android系统的adb的全名是Android Debug Bridge,在Android开发环境中,abd是我们经常用于开发的调试工具,使用adb工具的前提是打开手机上的USB调试,然后通过数据线连接到计算机。
通过adb,我们可以通过Eclipse中的DDMS(调试工具)轻松调试Android程序。,Adb以一种特殊的方式工作,它监视Socket TCP 5554和其他端口,以允许IDE和Qemu进行通信,默认情况下,adb将守护程序相关的网络端口,因此,当我们运行Eclipse时,adb进程将自动运行。
(6)androidadbapk扩展阅读:
android adb主要功能有:
1、运行设备的shell(命令行);
2、管理模拟器或设备的端口映射;
3、计算机和设备之间上传/下载文件;
4、 将本地apk软件安装到模拟器或android设备。
参考资料:网络—ADB