首页 文章

如何为远程计算机开发和本地设备部署设置ADB

提问于
浏览
32

我的情况是:我从家里远程办公并通过Windows远程桌面登录我的工作机器 . 我在我的工作计算机上使用Eclipse作为Android应用程序的开发环境 .

使用ADB,我希望能够将应用程序从我的工作计算机部署到家庭网络上的设备,以用于模拟器不能正常运行的情况 .

我发现这篇文章讨论了一个非常类似的场景,除了部署到在本地PC上运行的仿真器,而不是部署到本地设备:

http://www.41post.com/5003/programming/android-adb-remote-emulator-access

我正在尝试采取相同的步骤,但弄清楚如何在家庭WiFi网络上定位本地设备并连接到我的本地家用PC,而不是本地模拟器 .

现在,我已经设置了远程PC,尝试连接到5585端口上的公共路由器IP - 但是在我的路由器中,我将哪个IP /端口转发到本地设备?

在使用仿真器的示例中,它们转发到运行仿真器的本地PC地址和端口5555,并且adb未在本地PC上运行 . 我已经将我的路由器配置为转发到我的设备IP,设备在WiFi上,以及设备被连接的本地PC IP .

但是在这两种情况下,当我在远程PC上尝试 adb connect <routerIP>:5585 时,它会给我一个错误 unable to connect to <routerIP>:5585:5585 . 尝试转发/收听其他端口时,我得到相同的响应 . 我在路由器日志中没有收到任何安全错误,因此端口转发似乎正在运行 .

Questions:

  • 在本地网络上配置端口转发以使用远程adb实例连接到本地设备时,我应转发哪些本地IP /端口号?

  • 我应该定位设备所连接的本地PC IP,还是本地设备IP?

  • 如果我定位本地设备IP,我应该转发哪个端口号?

  • 我是否需要在本地PC上运行adb?

5 回答

  • 38

    我有类似的情况 . 我在远程桌面上进行开发,但我的Android设备已连接到我的本地笔记本电脑 . 我希望能够在远程桌面上的eclipse中使用adb和android插件,并连接到连接到笔记本电脑的设备 . 在互联网上搜索并没有找到任何真正有用的东西后,我决定编写一个可以解决问题的端口转发器 . 你可以找到here . 我希望它对其他人也有帮助 .

  • 22

    从Android 4.3开始,你可以:

    • 使 adb 服务器侦听所有接口 . 您有两种选择:

    • 制作gListen=1并重新编译 adb (我已经在Linux-x64机器上为你编译了它并把它放到here

    • 使用 -a 参数启动adb服务器: adb -a -P 5037 fork-server server&

    • 使用带有额外参数的远程计算机上的 adb ,例如 adb -H <remote_host> shell

  • 4

    您可以通过端口转发解决问题 .

    • 从Chrome应用商店下载Secure Shell应用

    • 连接到您的机器(逐步设置)

    • 在此连接中,禁用adb服务器:adb kill-server

    • 创建新的端口转发连接(与常规连接相同,但将SSH Arguments字段设置为:-N -R 5037:localhost:5037)

    • 在笔记本电脑上,打开终端并启用adb服务器:adb start-server

  • 1

    我的情况需要使用位于不同网络上的VM,但我需要使用(Azure VM) . VM和我的本地笔记本电脑都在运行Windows 10.首先,我必须在我的本地机器上安装USB Redirector RDP Edition(售价80美元,但可能有免费替代品),然后在VM上安装Google Android USB驱动程序VM上的Universal Adb Driver . 我现在能够在VM上的Android Studio中加载Android Studio App项目,在我的笔记本电脑上连接Android设备,并在设备上调试应用程序 .

  • 0

    可能有一个更简单的解决方案,提供设备,本地和远程机器属于同一网络 . 假设您的设备在网络上有一定的IP,让我们假设您决定使用您首选的PORT:嗯,您可以执行以下步骤 .

    在设备插入的机器上,请运行:

    adb devices
    
    adb tcpip PORT
    

    在远程计算机上,您需要停用“发现USB设备”,“发现网络目标”和“端口转发”,然后运行:

    adb connect IP:PORT
    

    并且您已准备好在远程计算机上进行调试 .

    希望这会帮助别人......

    问候

相关问题