一、adb devices
这个命令适用于:检查设备连接情况,有三种状态:device、offline以及 没有 device
- device:正常状态,设备已经连接上电脑;窗口中会显示获取到设备的序列号,若连接多台设备,可以根据序列号,使用
“-s + 序列号”
只对某台设备进行操作。eg;adb -s 5fdd2b2b shell df
#查看设备磁盘使用情况
adb -s 5fdd2b2b install xxx.apk
#安装某个软件
- offline:未连接到 adb 或不响应。
- 没有device:未连接模拟器/设备。
二、adb root
此命令适用于:切换adb服务使用对象为root用户,但是在user版本下无效。
此命令仅在debug版本下有用,对于user版本想切换成root用户,必须先root设备,然后在adb shell下使用命令“su”切换成root账户;或者刷入debug版本OS包即可解决。
三、adb push <PC机上的文件> <Android设备路径>
此命令适用于:将PC机上的文件拷贝一份到Android设备路径下。注意PC机上文件路径和Android设备路径的路径分隔符可能是不同的。
eg: adb push D:\android\test\test.sh /data/local/tmp/
但是,当我们push到system、etc等目录下时,因为其是只读属性,往往会读写失败。这个时候我们需要执行以下两个命令:1. adb root
切换到root用户;2. adb remount
重新挂载system分区,实现对system分区重新挂载
adb root
adb remount
四、adb pull <Android设备上的文件> <PC机路径>
此命令适用于:将Android设备上的文件拷贝一份到PC机路径下。注意Android设备路径和PC机路径的路径分隔符可能是不同的。
eg:adb pull /data/local/tmp/logcat.txt D:\android\test
常见问题:有时候因为pull一个文件夹下所有文件,而其中的某几个文件没有pull出来。这个时候我们需要切换到root 用户再尝试pull;若还是不行,就需要更改需要pull文件或文件夹的权限。
adb shell
chmod 777 <文件>
chmod 777 <文件夹> -R
五、adb install xx.apk
此命令适用于: 安装xx.apk到设备中,xx.apk前可以加上apk所在路径,注意这个路径是PC机的路径。
eg: adb install -t E:\App_package\PsamTest9.0\app\build\outputs\apk\debug\PsamTest22.0-10101943.apk
六、adb uninstall package
此命令适用于:卸载package对应的apk,注意package是包名,若不知道apk对应的包名是什么,可以通过以下方式来获取:首先打开要卸载的apk, 然后在命令行输入 adb shell dumpsys window | findstr mCurrentFocus
即可获取包名。
获取到包名之后就可以卸载apk
eg: adb uninstall com.un.psamtest
七、adb shell + shell_cmd
此命令适用于:在cmd窗口执行 shell命令;shell_cmd二进制文件存储在模拟器或设备的文件系统中,其路径为 /system/bin/ 和/system/xbin/。adb shell 后面可以直接跟上shell_cmd,也可以按下Enter键后,再输入shell_cmd。
eg: adb shell ls -l /system
八、adb remount
此命令适用于:remount /system/, /etc/等路径的读写权限,使当前用户有权限读写设备中/system/, /etc/等路径下的文件。使用先必须先用adb root命令。
当 remount 失败时,可以先运行adb disable-verity命令,然后重启设备,最后再使用root和remount命令。
adb disable-verity
adb reboot
adb root
adb remount