Android adb使用超级大全
ADB,即Android Debug Bridge,是一款强大的工具,对于Android开发/测试人员来说是不可或缺的,同时也是Android设备玩家的好玩具。本文将详细介绍ADB的使用方法。
ADB的基本用法如下:
命令语法:
adb [-d|-e|-s <serialNumber>] <command>
如果只有一个设备/模拟器连接时,可以省略[-d|-e|-s <serialNumber>]
这一部分,直接使用adb <command>
。
为命令指定目标设备:
如果有多个设备/模拟器连接,则需要为命令指定目标设备。
参数 | 含义 |
---|---|
-d | 指定当前唯一通过USB连接的Android设备为命令目标 |
-e | 指定当前唯一运行的模拟器为命令目标 |
-s <serialNumber> | 指定相应serialNumber号的设备/模拟器为命令目标 |
在多个设备/模拟器连接的情况下,常用的是-s <serialNumber>
参数,serialNumber可以通过adb devices
命令获取。
例如,想要指定cf264b8f这个设备来运行adb命令获取屏幕分辨率,可以使用以下命令:
adb -s cf264b8f shell wm size
另外,如果想要给10.129.164.6:5555这个设备安装应用(这种形式的serialNumber格式为<IP>:<Port>
,一般为无线连接的设备或Genymotion等第三方Android模拟器),可以使用以下命令:
adb -s 10.129.164.6:5555 install test.apk
启动/停止:
启动adb server命令:
adb start-server
一般情况下,无需手动执行此命令,运行adb命令时如果发现adb server没有启动,会自动调起。
停止adb server命令:
adb kill-server
查看ADB版本:
adb version
命令可以查看ADB的版本信息。
以root权限运行adbd:
ADB的运行原理是PC端的adb server与手机端的守护进程adbd建立连接,然后PC端的adb client通过adb server转发命令,adbd接收命令后解析运行。
所以如果adbd以普通权限执行,有些需要root权限才能执行的命令无法直接使用adb xxx
执行。这时可以使用adb shell
然后su
后执行命令,也可以让adbd以root权限执行,这样就可以随意执行高权限命令了。
命令:
adb root
正常输出应该是:
restarting adbd as root
现在再运行adb shell
,看看命令行提示符是否变成#
了?
有些手机即使root后也无法通过adb root
命令让adbd以root权限执行,比如三星的部分机型会提示"adbd cannot run as root in production builds"。此时可以先安装adbd Insecure,然后再尝试adb root
命令。
相应地,如果要恢复adbd为非root权限,可以使用adb unroot
命令。
指定adb server的网络端口:
通过adb -P <port> start-server
命令可以指定adb server的网络端口,默认端口为5037。
以上是adb的基本使用方法,更多使用方法及教程参考下面链接:
https://github.com/mzlogin/awesome-adb
下面是该仓库内容的目录截图,请根据需要进行查找。