如何在未启用 USB 调试的情况下使用 adb tcpip?

Posted

技术标签:

【中文标题】如何在未启用 USB 调试的情况下使用 adb tcpip?【英文标题】:How to use adb tcpip without USB debugging enabled? 【发布时间】:2013-11-07 16:26:21 【问题描述】:

我已经阅读了很多关于 adb 和 tcpip 模式的帖子,我可以创建无线 adb 连接,但前提是 USB 调试打开。

我的使用方式是这样的:

    USB 调试已启用 在电脑上调用adb tcpip(从usb切换到tcpip模式,默认端口5555) 调用adb connect PHONE_IP 并建立连接

无论是否连接 USB 电缆,上述操作都适用,但仅当在 android 设备的开发人员选项中勾选 USB 调试选项时。一旦我取消选中该选项,tcp 连接就会丢失并且无法重新建立,直到重新启用 USB 调试选项。

问题是我开始使用IOIO OTG 设备,我需要禁用 USB 调试才能将 IOIO 用作附件设备。如果我可以同时使用 IOIO 和使用 adb 进行调试,那将非常有用。

我在设备上使用 Android 4.1.2 (API 16)。 我可以使用两台设备,它们都使用相同的操作系统版本,一台已root,一台未root。

是否可以在不启用 USB 调试的情况下在 tcpip 模式下使用 adb? 如果有,怎么做?

【问题讨论】:

【参考方案1】:

在你的根设备上,安装Terminal Emulator

输入“苏” 然后“启动 adbd” (source)

我已经在我的根植于 Android 4.0.4 的设备上尝试过这个。我可以在不启用 USB 调试的情况下正常连接。 多说几句:

“USB Debugging”实际上在内部称为“enable_adb”。 如果您启用 USB 调试,这通常会发生(小设备 依赖): 存储了一个 Settings.Secure 值 (ADB_EN​​ABLED) (在某些设备上还设置了系统属性) adb 守护进程已启动

如果 UsbManager 只检查安全设置,那么一切都应该正常工作。如果它检查实际运行的守护进程,那么你就不走运了。

【讨论】:

感谢您的提示(+1)。但是我可以做更多的解释。我正在使用带有 Android 4.1.2 的 root 手机,并尝试运行 su 然后 start adbd,当我在计算机上运行 adb tcpip 时,它最初在端口 14 上启动了服务(不寻常),但无法连接到 ip(当我只传递 ip 时,adb connect 默认为 5555)。问题是即使启用 USB 调试后我也无法建立 adb 连接。我无法与 USB 或 TCPIP 建立连接,必须重新启动手机才能解决此问题。能否提供更详细的步骤? 尝试 getprop | grep "adb" tcp端口是否配置为5555?当 USB Debugging 关闭时,该值可能会在您的手机上重置***.com/a/3623727/1257591 要添加到现有答案,理想情况下 adbd 将重新启动:setprop service.adb.tcp.port 5555 然后 stop adbd && start adbd。这可以设置为使用build.prop editor 重新启动

以上是关于如何在未启用 USB 调试的情况下使用 adb tcpip?的主要内容,如果未能解决你的问题,请参考以下文章

Appium 移动端自动化 - Android SDK连接安卓手机,adb连接一加8手机USB调试实例演示

如何在三星galaxy s7上为React Native启用USB调试

如果之前被拒绝许可,如何通过 USB 调试启用 apk 安装?

如何在 Nexus Player 上启用 USB 调试? (安卓电视)

Android远程ADB配置

usb debugging是啥意思呢?怎么才能启用呢?