我有一个根深蒂固的HTC Hero,我想要做的是启用adbd 在开机时听一个端口。
我尝试了一些代码here:
setprop service.adb.tcp.port 5555
stop adbd
start adbd
在Android shell中,效果很好。
我尝试更改 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 /
文件已成功替换,但是当我重新启动手机并尝试连接时 通过:
adb connect <IP>:5555
连接尚未建立。
有什么想法吗?
(PS。我不想使用remoteADB应用程序和shell命令
am start -n ...
)
答案 0 :(得分:38)
这将使其持久:
setprop persist.adb.tcp.port 5555
重启后,通过USB 的ADB 可能无法使用。要撤消此设置,请执行以下操作:
setprop persist.adb.tcp.port ""
答案 1 :(得分:1)
您需要在boot.img中解压缩,修改和重新打包initrd。您可以在以下网址找到更多信息:
https://groups.google.com/forum/?fromgroups=#!topic/android-platform/w37x_WCrhMM
答案 2 :(得分:-1)
为什么不尝试使用BroadcastReceiver
行动BOOT_COMPLETED
?
你可以在你的Manifest中注册一个:
<receiver
android:name="com.myapp.BootCompleted"
android:enabled="true"
android:exported="false" >
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED" />
</intent-filter>
</receiver>
在课堂上,你可以在完成启动时做任何你想做的事情:
import java.util.*;
import android.content.*;
public class BootCompleted extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
// Do the actions you want
}
}