使用 ADB 进行远程调试的全面指南


使用 ADB 进行远程调试的全面指南

在移动应用开发过程中,ADB(Android Debug Bridge)是一个不可或缺的工具。特别是在需要进行远程调试时,ADB 能够让我们在不依赖 USB 连接的情况下,通过网络与设备进行通信。本文将详细介绍如何配置和使用 ADB 进行远程调试,以及如何处理常见的授权问题。

常规操作

1. 开启网络调试

首先,确保你的 Android 设备已经开启了开发者选项,并在其中启用了“网络调试”功能。这个过程通常需要进入设备的“设置”菜单,找到“开发者选项”,然后开启“网络调试”开关。

2. 通过 USB 启用 TCP/IP 模式

如果你的设备没有直接显示 IP 地址,可以通过 USB 连接设备并执行以下命令,将 ADB 设置为通过 TCP/IP 进行调试:

adb tcpip 5555

执行此命令后,ADB 将切换到 TCP/IP 模式,此时你可以断开 USB 连接。

3. 获取设备的 IP 地址

在设备上,进入“设置” > “网络与互联网” > “Wi-Fi”,选择当前连接的网络。在网络详情中,你可以找到设备的 IP 地址。

4. 连接设备

使用设备的 IP 地址和端口号(通常为 5555),通过以下命令连接到设备:

adb connect 192.168.0.101:5555

如果连接成功,你将在终端中看到类似以下的输出:

connected to 192.168.0.101:5555

5. 处理授权问题

在首次连接时,设备可能会提示“unauthorized”错误。这是因为设备尚未授权当前的调试会话。你可以通过以下步骤解决这个问题:

  1. 重启 ADB 服务

    adb kill-server
    adb connect 192.168.0.101:5555
  2. 确认设备授权

    在设备上确认授权提示。一旦授权成功,设备将被添加到 ADB 的设备列表中。

6. 进入设备的 Shell

连接成功后,你可以使用以下命令进入设备的 Shell:

adb shell

此时,你可以执行各种命令来与设备进行交互。退出 Shell 使用 exit 命令。

7. 断开连接

如果需要断开与设备的连接,可以使用以下命令:

adb disconnect 192.168.0.101

8. 恢复 USB 模式

如果你希望将 ADB 恢复为 USB 模式,可以使用以下命令:

adb usb

手动修改 ADB 调试授权信息

在某些情况下,你可能无法通过常规方式获取调试授权,例如授权弹窗无法弹出。这时,可以手动修改设备的 ADB 调试授权信息。

1. 获取电脑的 ADB 公钥

首先,找到你电脑上的 ADB 公钥文件。公钥文件的位置如下:

  • Linux/macOS: ~/.android/adbkey.pub
  • Windows: C:\Users\<用户名>\.android\adbkey.pub
cat ~/.android/adbkey.pub

复制文件中的内容,这就是你电脑的 ADB 公钥。

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

接下来,通过 ADB 进入设备的 Shell(假设设备已经 root,并且可以通过 USB 连接):

adb shell

进入 ADB 密钥目录:

cd /data/misc/adb

编辑 adb_keys 文件:

nano adb_keys

将之前复制的公钥内容追加到文件中。保存并退出编辑器(在 nano 中,按 Ctrl + X,然后按 Y 确认,最后按 Enter 保存)。

3. 重启 ADB 并重新连接

最后,重启 ADB 服务,并重新连接到设备:

adb kill-server
adb connect 192.168.0.101:5555

此时,设备应该已经成功授权,并可以进行远程调试。

无法点击屏幕实现手动授权ADB

安卓有三个模式:正常模式、Recovery 模式、Fastboot模式。

测试设备:

  • OnePlus 5T (8+128) 触屏坏(显示正常)
  • android 10
  • unlock bootloder + root + magisk

作者尝试在 Recovery 模式下,也是可以正常连接的。
因此,可以换一种思维方式,在 recovery 模式之下,将 adb 的公钥写入到手机(参考上文),之后重启手机即可。此时不需要ADB授权。

注意事项

  • 确保设备和电脑在同一个网络下,以确保连接的稳定性。
  • 手动修改 adb_keys 文件需要设备具有 root 权限,操作时请谨慎。

推荐阅读

声明:Grows towards sunlight |版权所有,违者必究|如未注明,均为原创|本网站采用BY-NC-SA协议进行授权

转载:转载请注明原文链接 - 使用 ADB 进行远程调试的全面指南


Grows towards sunlight and Carpe Diem