如何在Android中启动时启用adbd来侦听端口?

Tha*_*sas 11 boot android init remote-connection adb

我有一个根深蒂固的HTC Hero,我想要做的是让adbd在启动时监听一个端口.

我尝试了一些代码,发现这里:

setprop service.adb.tcp.port 5555
stop adbd
start adbd
Run Code Online (Sandbox Code Playgroud)

在Android外壳中,它运行良好.

我试图更改init.rc文件.我在init.rc中添加了上面的代码,并通过以下命令将其替换为原始文件:

adb push init.rc sdcard

adb shell
adb su
mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /
adb cp sdcard/init.rc /
Run Code Online (Sandbox Code Playgroud)

该文件已成功替换,但是当我重新启动手机并尝试连接时:

adb connect <IP>:5555
Run Code Online (Sandbox Code Playgroud)

连接尚未建立.

有任何想法吗?

(PS.我不想使用remoteADB应用程序和shell命令一样 am start -n ... )

小智 45

这会使它持久化:

setprop persist.adb.tcp.port 5555
Run Code Online (Sandbox Code Playgroud)

重启后,ADB over USB可能无法使用.要撤消此设置,请执行:

setprop persist.adb.tcp.port ""
Run Code Online (Sandbox Code Playgroud)

  • 你不知道这个发现为我们的培根节省了多少——如此简单和有效——为什么这没有得到更多的支持?干杯。 (5认同)
  • 这些属性存储在哪里?与 build.prop 相比? (2认同)
  • 如果您使用的是 adb,则命令为“adb shell setprop persist.adb.tcp.port 5555”。 (2认同)

小智 1

您需要解压、修改并重新打包 boot.img 中的 initrd。您可以在以下位置找到更多相关信息:

https://groups.google.com/forum/?fromgroups=#!topic/android-platform/w37x_WCrhMM