3、ADB设备管理:连接真机、连接模拟器、无线连接ADB、多设备管理、断开连接
设备管理这块,说白了就是让电脑和你的Android设备「对上话」。我见过不少新手,卡在这一步就放弃了,其实没那么复杂。咱们一个一个来拆解。
3.1 连接真机:USB调试是第一步
连接真机,核心就一句话:打开USB调试。但很多人找不到开关在哪。
操作路径是这样的:
- 打开手机「设置」 → 「关于手机」
- 连续点击「版本号」7次,直到提示「您已处于开发者模式」
- 返回设置主菜单,找到「开发者选项」
- 打开「USB调试」开关
插上数据线后,手机会弹出一个「允许USB调试吗?」的对话框。记得勾选「一律允许」,然后点确定。这时候在电脑上输入:
adb devices
如果看到类似这样的输出,就说明连上了:
List of devices attached
0123456789ABCDEF device
嗯,这里要注意。如果显示的是 unauthorized,说明你手机没点确认。如果显示 offline,大概率是数据线有问题。我个人习惯用原装线,或者那种带数据传输功能的线,千万别用那种只能充电的「快充线」。
3.2 连接模拟器:各有各的套路
模拟器这块,我踩过不少坑。不同的模拟器,连接方式不太一样。
| 模拟器类型 | 连接命令 | 备注 |
|---|---|---|
| Android Studio自带模拟器 | adb connect 127.0.0.1:5554 |
默认端口,一般自动连接 |
| Genymotion | adb connect 192.168.x.x:5555 |
IP地址在模拟器设置里看 |
| 夜神模拟器 | adb connect 127.0.0.1:62001 |
端口可能不同,看版本 |
| 雷电模拟器 | adb connect 127.0.0.1:5555 |
多开时端口会变 |
为什么端口不一样?因为每个模拟器厂商都有自己的「小算盘」。我曾经在项目里同时开了三个模拟器做兼容性测试,结果端口全乱了。后来我学乖了,每次连接前先用 adb devices 扫一遍,看看哪些设备在线。
3.3 无线连接ADB:摆脱数据线
无线连接,说白了就是让手机和电脑连同一个WiFi,然后通过IP地址连接。我个人特别喜欢这个功能,尤其是调试的时候,不用被数据线束缚着。
操作步骤:
- 先用USB线连接手机和电脑
- 输入
adb tcpip 5555,让手机在5555端口监听 - 拔掉数据线
- 输入
adb connect 手机IP地址:5555
举个例子:
adb tcpip 5555
adb connect 192.168.1.100:5555
如果连接成功,你会看到:
connected to 192.168.1.100:5555
另外,无线连接的速度比USB慢,尤其是传输大文件的时候。所以日常调试用无线没问题,但刷机或者传大文件,还是老老实实用数据线吧。
3.4 多设备管理:同时操作多个设备
当你手上有多个设备时,adb devices 会列出所有设备。比如:
List of devices attached
0123456789ABCDEF device
emulator-5554 device
192.168.1.100:5555 device
这时候如果你直接输入 adb install app.apk,ADB会报错:
error: more than one device/emulator
解决方法很简单,用 -s 参数指定设备:
adb -s 0123456789ABCDEF install app.apk
adb -s emulator-5554 install app.apk
adb -s 192.168.1.100:5555 install app.apk
嗯,这里有个小技巧。如果你经常要在多个设备之间切换,可以给每个设备起个「别名」。比如:
export ANDROID_SERIAL=0123456789ABCDEF
这样你就不用每次都加 -s 参数了。想切换设备时,重新设置一下环境变量就行。
adb devices 的输出,然后对每个设备执行相同的命令。这样效率高很多。
3.5 断开连接:优雅地结束
断开连接很简单,但不同场景下方法不一样。
- USB连接:直接拔掉数据线就行。但建议先点手机上的「断开USB调试」,或者直接关闭USB调试开关。
- 无线连接:用命令断开:
adb disconnect 192.168.1.100:5555 - 模拟器:直接关闭模拟器窗口,或者用
adb kill-server杀掉ADB服务。
为什么要「优雅地断开」?我曾经有一次直接拔线,结果ADB服务卡死了,所有设备都连不上。最后只能 adb kill-server 再 adb start-server 重启服务。
adb devices 检查。如果发现设备状态异常,先断开再重新连接,往往能解决问题。
好了,设备管理这块就这些。说白了就是「连得上、管得住、断得开」。下一章咱们聊聊文件操作,怎么往手机里传东西、怎么把手机里的文件拉出来。