adb 命令非常多,不过常用的就只有十几个,只要学好常用的十几个adb命令,就可以应付几乎百分百的工作。由于篇幅原因,本文先介绍其中的8个命令和命令使用过程中常见问题解决方案,还有8个命令在下文中介绍。
1. adb devices
连接Android设备到电脑上,用这个命令检查设备连接状态,有device、offline和没有device三种状态。
1) device:正常运行状态,如下图,可以获取到设备的序列号。如果连接了多个设备,可以根据序列号,使用”-s + 序列号”只对某个设备操作。例如:
adb -s 2aa1c436 shell df
adb -s 2aa1c436 install xxx.apk
2) offline:未连接到 adb 或不响应。
3) 没有device:未连接模拟器/设备。
2. adb root
意义:切换adb服务使用对象为root用户。
常见问题:商用机上adb root命令无效。
解决方案:这个命令只有工程机(测试机)上有用,对商用机无效。对于商用机,想切换成root用户,必须先root设备,然后在adb shell下使用命令“su”切换成root账户。
3. adb push <PC机上的文件> <Android设备路径>
意义:将PC机上的文件拷贝一份到Android设备路径下。注意PC机上文件路径和Android设备路径的路径分隔符可能是不同的。
示例:
adb push D:\android\test\test.sh /data/local/tmp/
常见问题:push文件到设备里某些路径失败,比如/system/, /etc/等路径。
解决方案:先使用以下两个命令,再用adb push命令。
adb root
adb remount
4. adb pull <Android设备上的文件> <PC机路径>
意义:将Android设备上的文件拷贝一份到PC机路径下。注意Android设备路径和PC机路径的路径分隔符可能是不同的。
示例:
adb pull /data/local/tmp/logcat.txt D:\android\test
常见问题:没有成功将文件pull出来。这种情况在商用机上出现的比较多。有时候因为pull一个文件夹下所有文件,而其中的某几个文件没有pull出来,不仔细看,可能还发现不了问题。
解决方案:1)先用adb root命令切换成root用户,再使用adb pull命令;2)如果无法切换成root用户,就请先用以下命令给需要pull的文件或文件夹加上可读的权限。
adb shell
chmod 777 <文件>
chmod 777 <文件夹> -R
5. adb install xx.apk
意义: 安装xx.apk到设备中,xx.apk前可以加上apk所在路径,注意这个路径是PC机的路径。
示例:
常见问题:安装失败。
解决方案:安装失败有不同的原因,必须仔细分析有针对性地解决。小编后续会发文详细总结。
6. adb uninstall package
意义: 卸载package所对应的apk。
示例: 如下图。
常见问题:不知道apk对应的package是什么。
解决方案:有很多的方法可以获取到package,小编后续会发文详细介绍。这里提供其中的一种,首先打开要卸载的apk,输入adb shell dumpsys window windows | findstr "Current"命令,如下图所示“/”之前红色区域的字符串就是当前apk的package。
7. adb shell + shell_cmd
意义: shell_cmd二进制文件存储在模拟器或设备的文件系统中,其路径为 /system/bin/ 和/system/xbin/。adb shell 后面可以直接跟上shell_cmd,也可以按下Enter键后,再输入shell_cmd。
示例:如下图。
8. adb remount
意义:remount /system/, /etc/等路径的读写权限,使当前用户有权限读写设备中/system/, /etc/等路径下的文件。使用先必须先用adb root命令。
常见问题: remount失败。
解决方案: 如果adb remount 命令提示remount失败,则可以先运行adb disable-verity命令,然后重启设备,最后再使用root和remount命令。
adb disable-verity
adb reboot
adb root
adb remount
通过adb命令查看data目录下的文件
步骤
1.手机需要先root,我的手机是魅蓝note5
2.root成功以后执行adb shell,然后通过su命令获取权限,如果看到$符号变为#的话,说明我们就有权限查看目录中的文件了
3.ls -al列出所有的目录,然后我们依次进入到data/anr目录下,通过ls -al查看文件
此时可以看到文件确实存在,然后我们新开一个命令窗口,通过下面的命令把traces.txt文件弄到电脑上
adb pull /data/anr/traces.txt d:/app
有时候pull文件的时候会报下面的错
解决办法是先调用adb remount命令再pull~