我想连接到使用Android设备adb
在网络上。 我熟悉我如何连接与亚行通过TCP到Android? 与https://developer.android.com/guide/topics/usb/index.html和遵循的准则。 具体地说,我做了以下内容:
# adb kill-server
# adb tcpip 5555
* daemon not running. starting it now on port 5037 *
* daemon started successfully *
restarting in TCP mode port: 5555
# adb connect 192.168.1.101:5555
unable to connect to 192.168.1.101:5555:5555
由于最后一个错误,我也尝试过
# adb connect 192.168.1.101
unable to connect to 192.168.1.101:5555
我也尝试重新启动设备本身,但它并没有帮助。 任何理由为什么它不工作?
更新:要清除任何怀疑,我相信这是我的设备的内部IP地址。
我已经与我的无根的设备相同的问题。 和流行的看法相反,似乎adb tcpip <port>
要求要么仿真器或调试版本或root权限; 至少根据源代码。
主分支: https://github.com/android/platform_system_core/blob/master/adb/adb.c#L898看should_drop_privileges
防止https://github.com/android/platform_system_core/blob/master/adb/adb .C#L966 adb_main
打开一个TCP / IP套接字连接。
在年龄较大的分支,用于识别的特权逻辑adbd
均adb_main
本身。 请参阅: https://github.com/android/platform_system_core/blob/froyo-release/adb/adb.c#L860
因此,为了进一步证明adbd
不会进入TCP / IP模式(尽管adb tcpip
给出任何错误),看看下面:
adb shell getprop | grep 'ro.secure\|debuggable\|qemu'
adb shell getprop | grep 'ro.secure\|debuggable\|qemu'
我的设备输出:
[ro.secure]: [1]
[ro.debuggable]: [0]
这不符合能得到一个条件secure
在0值adbd
,因为我没有运行一个仿真器(默认情况下需要TCP / IP),我没有运行Android的可调试的内部版本,我“M不根。
此外,如果你发出adb shell netstat
命令,你会看到,有没有人侦听端口5037或5555或您提供给任何其他tcpip
命令从预期adbd
在TCP / IP模式下运行。
希望这有帮助,祝你好运!
的能力以重新启动adbd使用TCPIP传输可以变化从设备到设备。 如果不知道到底哪个设备你用它很难知道确切的原因。
我测试的“亚行5555 TCPIP”上的Galaxy Nexus(takju)运行4.2.1,发现它的工作。 我还测试了几个其他的设备和那些没有工作。
我设法得到它使用在摩托罗拉Droid 3.注意ro.secure = 1和ro.debuggable = 0还是root权限才能正常工作。 我简单地通过手动设置service.adb.tcp.port”到‘5555’这样:
devbox:~/droid3$ adb shell
shell@cdma_solana:/$ getprop | grep 'ro.secure\|debuggable\|qemu'
[ro.secure]: [1]
[ro.debuggable]: [0]
shell@cdma_solana:/$ su -c 'setprop service.adb.tcp.port 5555'
shell@cdma_solana:/$ exit
devbox:~/droid3$ adb tcpip 5555
restarting in TCP mode port: 5555
devbox:~/droid3$ adb connect 172.16.0.14
connected to 172.16.0.14:5555
devbox:~/droid3$ adb -s 172.16.0.14:5555 shell
shell@cdma_solana:/$
虽然我跑“亚行TCPIP”时指定5555它被器件忽略。 看来,这个特殊的设备不具备所需的访问设置“service.adb.tcp.port”属性没有根。
同样,你可以回去USB这样:
shell@cdma_solana:/$ getprop | grep adb
[persist.service.adb.enable]: [1]
[ro.sys.atvc_allow_all_adb]: [0]
[persist.adb.tcp.port]: []
[init.svc.adbd]: [running]
[service.adb.tcp.port]: [5555]
shell@cdma_solana:/$ su -c 'setprop service.adb.tcp.port ""'
shell@cdma_solana:/$ exit
devbox:~/droid3$ adb -s 172.16.0.14:5555 usb
restarting in USB mode
devbox:~/droid3$ adb shell
shell@cdma_solana:/$
这可能不是在其他设备上工作的原因多种多样。
在我测试的Galaxy Nexus,外壳用户能够设置“service.adb.tcp.port”属性。 目前尚不清楚为什么这个不同在这个时候。
有趣的是,似乎在droid3将不会继续在USB听,如果你启用TCPIP。 然而,Galaxy Nexus的意志。
希望这可以帮助..
PS。 另见: 我如何连接与亚行通过TCP到Android?
我也遇到了相同的情况你,TCPIP设置succeseed,但亚行Connet的失败。 我终于找到了我的网络问题,中国平安也未能说scenairo下。 之后,我做了PING到,亚洲开发银行连接的作品也是如此。 所以,我的建议是检查您的网络环境。
您好,我知道这是一个老问题,但我有同样的问题。 我不知道这是你同样的情况,但对我的问题是,我是通过USB扩展,一旦连接我的Android设备,如我直接连接Android设备在我的MAC,它的工作的USB端口。
只是为了澄清尝试将Android设备直接连接到计算机或尝试切换的USB端口。