我想通过网络使用adb
连接到Android设备。我熟悉How can I connect to Android with ADB over TCP?和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地址。
4条答案
按热度按时间ev7lccsx1#
我的无根设备也遇到了同样的问题。与流行的看法相反,
adb tcpip <port>
似乎需要模拟器、调试版本或root权限;至少根据源代码。主分支:https://github.com/android/platform_system_core/blob/master/adb/adb.c#L898查看阻止https://github.com/android/platform_system_core/blob/master/adb/adb.c#L966
adb_main
打开TCP/IP套接字连接的should_drop_privileges
。在较早的分支中,用于标识
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'
,我的设备的输出:这不符合在
adbd
中能够获得secure
值0的条件,因为我没有运行模拟器(默认情况下需要TCP/IP),我没有运行Android的可调试版本,而且我不是root。此外,如果您发出
adb shell netstat
命令,您将看到没有人侦听端口5037或5555或您提供给tcpip
命令的任何其他端口,这与运行在TCP/IP模式下的adbd
的预期一致。希望这有帮助,祝你好运!
6rqinv9w2#
使用tcpip传输重新启动adbd的能力因设备而异。如果不知道你使用的是哪种设备,就很难知道确切的原因。
我在一台运行4. 2. 1的Galaxy Nexus(Takju)上测试了“adb tcpip 5555”,发现它能正常工作。我还在其他几个设备上进行了测试,这些设备都不起作用。
我设法让它工作使用根访问摩托罗拉Droid 3。请注意,www.example.com = 1,ro.debuggable = 0。ro.secure=1 and ro.debuggable=0 still. I simply by manually set service.adb.tcp.port" to "5555" as such:
虽然我在运行“adb tcpip”时指定了5555,但它会被设备忽略。看起来这个特殊的设备没有所需的访问权限来设置没有root的“service.adb.tcp.port”属性。
类似地,您可以返回到USB,如下所示:
这在其他设备上可能不起作用的原因各不相同。
在我测试的GalaxyNexus上,shell用户能够设置"service.adb.tcp.port"属性。目前还不清楚为什么这一点在这个时候有所不同。
有趣的是,如果你启用TCPIP,droid3似乎不会继续监听USB。不过,Galaxy Nexus会。
希望这对你有帮助。
PS.另见:How can I connect to Android with ADB over TCP?
a0zr77ik3#
我也遇到了和你一样的情况,TCPIP设置成功,但adb连接失败。我终于发现是我的网络问题,在那个场景下ping也失败了。在我做了ping工程后,adb连接工程以及。因此,我的建议是检查您的网络环境。
5ktev3wc4#
你好,我知道这是一个老问题,但我也有同样的问题。我不确定这是相同的情况下,你,但对我来说,问题是,我是通过USB扩展连接我的Android设备,只要我连接Android设备直接到USB端口在我的MAC它的工作.
只是为了澄清尝试将Android设备直接连接到计算机或尝试切换USB端口.