adb 远程调试,手动修改 adb 调试授权信息

版权归作者所有,如有转发,请注明文章出处:https://cyrus-studio.github.io/blog/

adb 远程调试

手机上开发者选项中打开网络调试

或者连接 USB 执行下面命令将 ADB 设置为通过端口 5555 进行 TCP/IP 调试

adb tcpip 5555

启用 TCP/IP 模式后可以断开 USB 连接

如果网络调试开关中没有显示设备ip地址,通过下面方法获取设备的 IP 地址:

  • 在设备上,进入设置 > 网络与互联网 > Wi-Fi,选择当前连接的网络。

  • 找到设备的 IP 地址(通常在网络详情中)。

根据设备 ip 地址和端口号连接到设备,并在手机上确认授权调试提示

复制代码
adb connect 192.168.0.101:5555
already connected to 192.168.0.101:5555

第一次授权可能会提示 unauthorized

复制代码
adb devices
List of devices attached
192.168.0.101:5555      unauthorized

重启 adb,重新再连接

复制代码
adb kill-server
adb connect 192.168.0.101:5555
* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to 192.168.0.101:5555

这时已经连接上了,能正常进入设备的 adb shell

复制代码
adb shell
wayne:/ # exit

adb devices
List of devices attached
192.168.0.101:5555      device

如果需要断开连接,使用下面命令

复制代码
adb disconnect 192.168.0.101

disconnected 192.168.0.101

使用以下命令可以将 ADB 设置回 USB 模式

adb usb

注意:确保设备和计算机在同一个网络下。

手动修改 adb 调试授权信息

USB远程调试连不上?授权弹窗无法弹出?可以通过下面方法解决。

在 Android 系统中,adb 调试授权信息存储在设备的 /data/misc/adb/adb_keys 文件中。

可以将当前电脑的 adb 公钥复制到设备的 adb_keys 文件中,手动实现 adb 调试授权。

1. 获取电脑的 ADB 公钥

电脑的 ADB 公钥文件通常存放在以下位置:

  • Linux/macOS: ~/.android/adbkey.pub

  • Windows: C:\Users<用户名>.android\adbkey.pub

    ls -alh ~/.android

    total 32K
    drwxr-x--- 2 cyrus cyrus 4.0K Sep 1 12:12 .
    drwxr-x--- 10 cyrus cyrus 4.0K Nov 3 03:38 ..
    -rw-r--r-- 1 cyrus cyrus 38 Nov 2 23:45 adb.5037
    -rw------- 1 cyrus cyrus 1.7K Aug 12 12:48 adbkey
    -rw-r--r-- 1 cyrus cyrus 718 Aug 12 12:48 adbkey.pub

找到 adbkey.pub 后,复制文件中的内容。这就是当前电脑的 ADB 公钥。

复制代码
cat ~/.android/adbkey.pub

QAAAAIr0W++7ZSo1old60xYNTncmxt+4hVroHv6v1MVnBaBefQA3xQeQ401lEnbKFxKU0qycHH4CBCq2uS1iElfeGJJ8nPBFPQcc+j/JFnQfxXNBGj578dMgp6LFkaa/NvRZzKmp5603DbC6kf6flRBeNmfFpsVV3Yrt1UV/wdBPuHSBZ4QJ1Mc91GXgHcVVYmx7KDE0Onu24q+4SYSXIXHFiNpXBNIQeTVunWFBwWY0SCrqMjTLZgrWxFdPTrVFY7ijtu+TmykL2N6rSi32dcJXHJyZrvM49nHOfKGWiWySO+17z3kbV+e+gwYq6zLOZGI/f1UihKlEnWpFDV3Ora1xQPV0nvvzr6gZTtclzhaaaajuPGOmnXjzKI1uAjDUgGtzefISk5fwWXEc2J3+HjqsM4UlbTxcsa63h4hIufj1OnSG4lnjDLqUb9YytkmHA3V6aLlCN3bbbbmVmIxAEAAQA= cyrus@studio

2. 将公钥添加到 Android 设备的 adb_keys 文件

使用 ADB 进入设备的 Shell(假设设备已经 root,可以通过 USB 连接)

复制代码
adb shell

进入 ADB 密钥目录

复制代码
cd /data/misc/adb

编辑 adb_keys 文件

复制代码
nano adb_keys

将公钥追加到 adb_keys 文件中

Ctrl + X 退出,按 Y 确认修改,Enter 保存。

重启 ADB 服务,重新连接

复制代码
adb kill-server

adb connect 192.168.0.101:5555
* daemon not running; starting now at tcp:5037
* daemon started successfully
connected to 192.168.0.101:5555
相关推荐
阿兰哥2 小时前
【调试篇5】TransactionTooLargeException 原理解析
android·性能优化·源码
爱吃水蜜桃的奥特曼3 小时前
玩Android Flutter版本,通过项目了解Flutter项目快速搭建开发
android·flutter
太过平凡的小蚂蚁4 小时前
Android 版本特性完全解析:从6.0到16.0的实用指南
android
杨筱毅4 小时前
【底层机制】【Android】深入理解UI体系与绘制机制
android·底层机制
介一安全4 小时前
【Frida Android】基础篇8:Java层Hook基础——调用带对象参数的方法
android·网络安全·逆向·安全性测试·frida
puyaCheer4 小时前
Android 13 启动的时候会显示一下logo,很不友好
android·gitee
long_hai_d5 小时前
Aosp14桌面壁纸和锁屏壁纸的设置和加载分析
android
2501_916007476 小时前
iOS 26 软件性能测试 新版系统下评估全流程 + 多工具辅助方案
android·macos·ios·小程序·uni-app·cocoa·iphone
云霄IT6 小时前
绕过Frida检测反调试的一些办法
android·javascript
sang_xb7 小时前
Android 如何开启 16KB 模式
android·kotlin