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 小时前
Kotlin 编译失败问题及解决方案:从守护进程到 Gradle 配置
android·开发语言·kotlin
建群新人小猿4 小时前
会员等级经验问题
android·开发语言·前端·javascript·php
1024小神5 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
兰琛5 小时前
20241121 android中树结构列表(使用recyclerView实现)
android·gitee
Y多了个想法6 小时前
RK3568 android11 适配敦泰触摸屏 FocalTech-ft5526
android·rk3568·触摸屏·tp·敦泰·focaltech·ft5526
NotesChapter7 小时前
Android吸顶效果,并有着ViewPager左右切换
android
_祝你今天愉快8 小时前
分析android :The binary version of its metadata is 1.8.0, expected version is 1.5.
android
暮志未晚Webgl9 小时前
109. UE5 GAS RPG 实现检查点的存档功能
android·java·ue5
麦田里的守望者江9 小时前
KMP 中的 expect 和 actual 声明
android·ios·kotlin
Dnelic-9 小时前
解决 Android 单元测试 No tests found for given includes:
android·junit·单元测试·问题记录·自学笔记