Android setprop不';t设置根安卓手机上的属性
我正在开发一个应用程序(使用Eclipse+Android SDk/NDK),它使用Android手机上的micro usb端口连接到外围设备。我正在尝试通过WiFi(tcp端口5555)连接到手机上的ADB守护进程,以便在Eclipse中调试我的应用程序。然而,我就是不能让它工作 我尝试的任何操作实际上都不会导致手机上的ADB守护进程切换到TCPIP模式(通过查看Android setprop不';t设置根安卓手机上的属性,android,Android,我正在开发一个应用程序(使用Eclipse+Android SDk/NDK),它使用Android手机上的micro usb端口连接到外围设备。我正在尝试通过WiFi(tcp端口5555)连接到手机上的ADB守护进程,以便在Eclipse中调试我的应用程序。然而,我就是不能让它工作 我尝试的任何操作实际上都不会导致手机上的ADB守护进程切换到TCPIP模式(通过查看getprop的输出可以看出)。问题似乎是我无法在手机上设置相关的service.adb.tcp.port属性。我使用的开发手机是运
getprop
的输出可以看出)。问题似乎是我无法在手机上设置相关的service.adb.tcp.port
属性。我使用的开发手机是运行CyanogenMod 7.0.0(Android v2.3.3)的LG GT540。开发机器是运行OS X Lion的iMac
以下是我尝试/确认/发现的一些相关信息:
- 手机已根目录(
)ru.secure=0
- 通过USB连接到ADB工作正常
- Mac上的adb服务以root身份运行(
)adb root
为我提供了一个具有超级用户访问权限的shell(#提示符、su、编辑系统文件的能力等)adb shell
在mac上从终端窗口运行时不会抱怨或抛出错误,但不会在手机上设置adb tcpip 5555
属性service.adb.tcp.port
在手机终端窗口的#提示符下输入不会抱怨或抛出错误,但不会设置setprop service.adb.tcp.port 5555
属性service.adb.tcp.port
可在Mac和手机外壳上工作(通过检查adb守护进程停止和setprop persist.service.adb.enable 0
为enable属性返回0进行确认)getprop
setprop persist.service.adb.enable 1可以在Mac和手机外壳上正常工作(通过检查adb守护程序启动和
为enable属性返回1进行确认)getprop
- 手机上与ADB相关的唯一属性是
和persist.service.ADB.enable
(如果ADB正在运行)(由手机上的init.svc.adbd
确认)getprop | grep ADB
- 市场上声称为Wifi“自动”配置ADB的应用程序(如)也不起作用(
属性未设置,且ADB over tcp不起作用)tcp.port
有人能解释为什么我不能设置这个特定属性,或者提出任何其他可能阻止ADB守护进程在TCPIP模式下运行的问题吗 您需要停止并重新启动手机上的adbd,tcp端口属性才能生效
- setprop service.adb.tcp.port 5555
- 停止adbd
- 启动adbd
adb tcpip
在TCP模式下重新启动端口:
如果终端工作正常,请吐出终端。如果你什么也没看到,它就没有
该属性由守护进程为您设置。指导您设置属性并重新启动adbd的教程主要关注需要在设备上执行的代码(即,如果您正在编写通过WiFi的ADB应用程序)
但是,您提到您正在使用Cyanogenmod。CM在开发者选项中没有“ADB over Network”设置吗(我发誓它在CM7中有)?我知道他们选择的港口是5555。您可能在尝试手动执行时与该功能发生冲突。如果系统中有内置内容,最好使用它。1行在应用程序开始时添加
setprop service.adb.tcp.port 5555 && stop adbd && start adbd
这将在启动时重置adb