在 Android AOSP 上通过 TCP/IP 启用 adb 调试

Enable adb debug over TCP/IP on Android AOSP

我已经按照项目文档 https://source.android.com/setup/build/devices#960hikey

中的描述从 master 构建了 Android AOSP

我已经更改了 mk 文件 https://android.googlesource.com/device/linaro/hikey/+/refs/heads/master/hikey960.mk#33 以添加 属性 覆盖,如图所示:

将所有内容都刷入设备并尝试像这样连接它:

$ adb kill-server
$ adb connect 192.168.196.78:5555
* daemon not running; starting now at tcp:5037
* daemon started successfully
failed to connect to '192.168.196.78:5555': Connection refused

我到处都在寻找如何在目标设备上启用它,但运气不佳。

谁能指出我哪里出了问题?

USB 连接工作正常,我没有像防火墙或代理这样的任何东西阻止端口。这一切都在我的本地 wifi 网络上...

在您回答之前,请注意这不是 ADB 开箱即用的普通智能手机。它是 Android Hikey 960 上的 AOSP(Google 的 AOSP 参考板)。

谢谢!任何帮助将不胜感激。

$亚行kill-server

$ adb tcpip 5555

** 守护进程不是 运行;现在开始 tcp:5037
* 守护进程启动成功 以 TCP 模式端口重新启动:5555

$ 亚行连接 192.168.2.18:5555

*连接到 192.168.2.18:5555

  • 检查您是否选择了默认启用 ADB 的构建配置(-eng-userdebug)。否则,您必须在 Android 为 运行 时启用它,这需要连接显示器和输入设备。通常这可以通过导航到设置并多次单击内部版本号来完成。
  • 检查主机 (ping 192.168.196.78) 和目标 (ping 192.168.196.?) 的网络连接。
  • 检查 logcat 目标上的错误消息。
  • 尝试在目标 (sudo stop adbd && sudo start adbd) 上重新启动 adbd 守护进程。注意:显然需要额外的 non-adb 连接。

找到解决方案。

我实际上根本不需要更改 AOSP 代码。我只需要使用 USB-C 电缆启动设备并执行以下操作:

$ adb shell
hikey960:/ $ su
hikey960:/ # setprop persist.adb.tcp.port 5555
hikey960:/ # exit
hikey960:/ $ exit
$ adb reboot
$ adb connect 192.168.196.77:5555
connected to 192.168.196.77:5555

(重启后不要忘记移除 USB-C 线缆!)

换句话说,我们设置了错误的道具。所有需要在重启后持续存在的道具都以 persist.

为前缀

希望对遇到同样情况的人有所帮助

感谢您的回复!

我在原始 AOSP 源代码中找到了这个:

device/google/cuttlefish/shared/device.mk:
  57  PRODUCT_PRODUCT_PROPERTIES += \
  58:     persist.adb.tcp.port=5555 \