Adb大全|基本用法|设备连接管理

本文章转载于搜狗测试

基本用法

命令语法

为命令指定目标设备

启动/停止

查看 adb 版本

以 root 权限运行 adbd

指定 adb server 的网络端口

设备连接管理

查询已连接设备/模拟器

USB 连接

无线连接(需要借助 USB 线)

无线连接(无需借助 USB 线)

基本用法

命令语法

adb 命令的基本语法如下:

adb [-d|-e|-s]

如果只有一个设备/模拟器连接时,可以省略掉[-d|-e|-s ]这一部分,直接使用adb 。

为命令指定目标设备

如果有多个设备/模拟器连接,则需要为命令指定目标设备。

参数含义

-d指定当前唯一通过 USB 连接的 Android 设备为命令目标

-e指定当前唯一运行的模拟器为命令目标

-s 指定相应 serialNumber 号的设备/模拟器为命令目标

在多个设备/模拟器连接的情况下较常用的是-s 参数,serialNumber 可以通过adb devices命令获取。如:

$ adb devices

List of devices attached

cf264b8f    device

emulator-5554  device

输出里的cf264b8f和emulator-5554即为 serialNumber。比如这时想指定cf264b8f这个设备来运行 adb 命令获取屏幕分辨率:

adb -s cf264b8f shell wm size

遇到多设备/模拟器的情况均使用这几个参数为命令指定目标设备,下文中为简化描述,不再重复。

启动/停止

启动 adb server 命令:

adb start-server

(一般无需手动执行此命令,在运行 adb 命令时若发现 adb server 没有启动会自动调起。)

停止 adb server 命令:

adb kill-server

查看 adb 版本

命令:

adb version

示例输出:

Android Debug Bridge version 1.0.36

Revision 8f855a3d9b35-android

以 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 -Pstart-server

默认端口为 5037。

设备连接管理

查询已连接设备/模拟器

命令:

adb devices

输出示例:

List of devices attached

cf264b8f    device

emulator-5554  device

输出格式为[serialNumber] [state],serialNumber 即我们常说的 SN,state 有如下几种:

offline—— 表示设备未连接成功或无响应。

device—— 设备已连接。注意这个状态并不能标识 Android 系统已经完全启动和可操作,在设备启动过程中设备实例就可连接到 adb,但启动完毕后系统才处于可操作状态。

no device—— 没有设备/模拟器连接。

以上输出显示当前已经连接了两台设备/模拟器,cf264b8f与emulator-5554分别是它们的 SN。从emulator-5554这个名字可以看出它是一个 Android 模拟器。

常见异常输出:

没有设备/模拟器连接成功。

List of devices attached

设备/模拟器未连接到 adb 或无响应。

List of devices attached

cf264b8f offline

USB 连接

通过 USB 连接来正常使用 adb 需要保证几点:

硬件状态正常。

包括 Android 设备处于正常开机状态,USB 连接线和各种接口完好。

Android 设备的开发者选项和 USB 调试模式已开启。

可以到「设置」-「开发者选项」-「Android 调试」查看。

如果在设置里找不到开发者选项,那需要通过一个彩蛋来让它显示出来:在「设置」-「关于手机」连续点击「版本号」7 次。

设备驱动状态正常。

这一点貌似在 Linux 和 Mac OS X 下不用操心,在 Windows 下有可能遇到需要安装驱动的情况,确认这一点可以右键「计算机」-「属性」,到「设备管理器」里查看相关设备上是否有黄色感叹号或问号,如果没有就说明驱动状态已经好了。否则可以下载一个手机助手类程序来安装驱动先。

通过 USB 线连接好电脑和设备后确认状态。

adb devices

如果能看到

xxxxxx device

说明连接成功。

无线连接(需要借助 USB 线)

除了可以通过 USB 连接设备与电脑来使用 adb,也可以通过无线连接——虽然连接过程中也有需要使用 USB 的步骤,但是连接成功之后你的设备就可以在一定范围内摆脱 USB 连接线的限制啦!

操作步骤:

将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。

将设备与电脑通过 USB 线连接。

应确保连接成功(可运行adb devices看是否能列出该设备)。

让设备在 5555 端口监听 TCP/IP 连接:

adb tcpip 5555

断开 USB 连接。

找到设备的 IP 地址。

一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里查看设备信息 - IP 地址一节里的方法用 adb 命令来查看。

通过 IP 地址连接设备。

adb connect

这里的就是上一步中找到的设备 IP 地址。

确认连接状态。

adb devices

如果能看到

:5555 device

说明连接成功。

如果连接不了,请确认 Android 设备与电脑是连接到了同一个 WiFi,然后再次执行adb connect 那一步;

如果还是不行的话,通过adb kill-server重新启动 adb 然后从头再来一次试试。

断开无线连接

命令:

adb disconnect

无线连接(无需借助 USB 线)

注:需要 root 权限。

上一节「无线连接(需要借助 USB 线)」是官方文档里介绍的方法,需要借助于 USB 数据线来实现无线连接。

既然我们想要实现无线连接,那能不能所有步骤下来都是无线的呢?答案是能的。

在 Android 设备上安装一个终端模拟器。

已经安装过的设备可以跳过此步。我使用的终端模拟器下载地址是:Terminal Emulator for Android Downloads

将 Android 设备与要运行 adb 的电脑连接到同一个局域网,比如连到同一个 WiFi。

打开 Android 设备上的终端模拟器,在里面依次运行命令:

su

setprop service.adb.tcp.port 5555

找到 Android 设备的 IP 地址。

一般能在「设置」-「关于手机」-「状态信息」-「IP地址」找到,也可以使用下文里查看设备信息 - IP 地址一节里的方法用 adb 命令来查看。

在电脑上通过 adb 和 IP 地址连接 Android 设备。

adb connect

这里的就是上一步中找到的设备 IP 地址。

如果能看到connected to :5555这样的输出则表示连接成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,919评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,567评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,316评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,294评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,318评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,245评论 1 299
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,120评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,964评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,376评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,592评论 2 333
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,764评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,460评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,070评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,697评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,846评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,819评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,665评论 2 354

推荐阅读更多精彩内容