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
相关推荐
coderlin_7 小时前
BI布局拖拽 (1) 深入react-gird-layout源码
android·javascript·react.js
2501_915918418 小时前
Fiddler中文版全面评测:功能亮点、使用场景与中文网资源整合指南
android·ios·小程序·https·uni-app·iphone·webview
wen's9 小时前
React Native安卓刘海屏适配终极方案:仅需修改 AndroidManifest.xml!
android·xml·react native
编程乐学10 小时前
网络资源模板--基于Android Studio 实现的聊天App
android·android studio·大作业·移动端开发·安卓移动开发·聊天app
没有了遇见12 小时前
Android 通过 SO 库安全存储敏感数据,解决接口劫持问题
android
hsx66612 小时前
使用一个 RecyclerView 构建复杂多类型布局
android
hsx66612 小时前
利用 onMeasure、onLayout、onDraw 创建自定义 View
android
守城小轩12 小时前
Chromium 136 编译指南 - Android 篇:开发工具安装(三)
android·数据库·redis
whysqwhw13 小时前
OkHttp平台抽象机制分析
android
hsx66614 小时前
Android 内存泄漏避坑
android