通常在使用真机调试的时候我们都会将设备通过数据线连接到电脑上进行调试, 但在某些特殊情况下我们希望通过无线连接进行调试, 例如忘记带线, 或者是手机需要充电等, 所幸ADB为我们提供了无线调试的功能, 这篇文章将会介绍开启无线调试的几种方式.
2021/10/13 补充
0. 在手机的终端模拟器上使用ADB Server开启(无需root)
这是从一个叫App Manager的应用中得到的灵感, 这个应用使用了内部包含的ADB Server来连接手机以获得更高的权限
所以我想到能不能在Termux上装adb然后开无线调试, 结果居然真的可以
# 首先打开Termux apt install android-tools # 安装adb adb start-server # 然后就会弹出是否允许调试的对话框啦 adb tcpip <端口号>
然后就可以如1所示在电脑上连接了
但是在这个过程中我也遇到了一个问题, 就是连接时提示This adb server's $ADB_VENDOR_KEYS is not set
, 查看设备列表时显示未信任, 这个可能是因为这个adb和App Manager使用的ADB的公钥冲突了
到开发者选项中撤销USB调试授权再重启adb server就好啦
1. 通过ADB启用无线调试
首先需要将手机用数据线连接至电脑, 然后保证ADB成功连接至手机, 然后输入以下命令:
adb tcpip <端口号>
然后拔掉数据线, 输入以下命令:
adb connect <IP地址>:<端口号>
如果想恢复有线调试, 插上手机, 然后输入:
adb usb
注意: 每次重启手机都要重新启用无线调试.
2. 直接在手机的终端模拟器上开启(需要root)
手机需要root, 打开你装的终端模拟器(例如Termux), 然后输入以下命令开启无线调试:
setprop service.adb.tcp.port <端口号> stop adbd # 重启adbd start adbd
输入以下命令关闭无线调试:
setprop service.adb.tcp.port -1 stop adbd # 重启adbd start adbd
3. 通过应用开启(应该也需要root)
既然可以通过以上命令开启/关闭无线调试, 那么只要写个应用执行以上命令不就能一键开启无线调试了, 然后百度一下发现确实有很多人写了, 但是我没有下载测试, 如果有需要请自行到网络上搜寻.
4. 系统自带无线调试开关
既然可以写个应用来开启, 那么还可以在做系统的时候直接把这个做进开发者选项里, 这方面我没有接触, 只是提出这种思路.
值得一提的是, 从Android 11开始官方加入了对无线调试的支持, 并且使用配对码来保证安全, 详情请查阅谷歌开发者文档.
PS: 华为就别想了
参考: https://developer.android.google.cn/studio/command-line/adb.html#wireless