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
相关推荐
裴东青9 小时前
ProxySQL实现MySQL主从集群的读写分离
数据库·mysql·adb
苏坡余10 小时前
Android Pixel7 13.0 HAL Service 调试
android
私人珍藏库11 小时前
【Android】AI视频剪辑-Ai剪辑视频 免费无广告
android·app·工具·软件·多功能
乐活青年11 小时前
新版Android Studio不显示gradle task list 问题
android·ide·android studio
alphageek811 小时前
JeffMony开源的VideoDownloader,Android平台视频下载SDK
android·其他·开源·音视频
亚空间仓鼠12 小时前
Docker容器化高可用架构部署方案(十五)
android·redis·docker·架构·sentinel
oh_my_god12 小时前
增加系统白名单,允许普通APP调用Android系统内部隐藏方法
android·framework
君莫啸ོ14 小时前
Android杂记-EDLA认证
android
武当王丶也14 小时前
React Native App 内更新实践:从版本策略到 APK 下载和安装
android·javascript·react native
我命由我1234514 小时前
Android Framework P4 - ServiceManager 进程
android·c语言·c++·visualstudio·android studio·android-studio·android runtime