如何远程调试android,使用Android模拟器进行远程调试

我意识到这个问题真的很老了,但我解决问题的方式略有不同,我花了一些时间来弄清楚这个简单的解决方案。

我通常使用Windows7 PC或笔记本电脑(取决于我工作的地方)作为我的前端,因为我喜欢GUI,但我更喜欢在无头Ubuntu服务器上进行所有编辑/编译/调试,因为所有的它提供的命令行功率。我的目标是尽可能地使每个Windows系统成为瘦客户端,而无需任何额外的服务(例如sshd)或防火墙漏洞。

所以这是senario:

System-A:运行Android模拟器的Windows7系统

System-B:安装了SDK的Ubuntu服务器

UL>

前面描述的问题是System-A上的模拟器绑定到localhost而不是外部以太网接口,因此System-B上的adb无法访问System-A上的模拟器。您需要做的就是在PuTTY中设置远程端口转发,以便与System-B建立SSH连接。诀窍是在创建两个隧道时检查“远程”单选按钮,以便隧道方向反转(从您登录的服务器隧道到您登录的客户端)。

7grr9.png

最后,在建立SSH连接后,使用adb连接到System-B上的“localhost”:System-B$ adb connect localhost

connected to localhost:5555

System-B$ adb devices

List of devices attached

localhost:5555 device现在你可以像往常一样下载图像/调试,如果你想把你的笔记本电脑拿出来喝咖啡,切换到不同的Windows系统是一件小事。

此外,通过以相同的方式隧道化端口5037,您可以实际转发您的adb服务器连接,以便您可以在System-A上通过USB连接真正的Android设备,并从System-B下载图像。为了使其正常工作,您需要确保adb服务器在System-A上运行,而不是在启动SSH会话之前在System-B上运行:

首先,在System-A上启动adb服务器(命令提示符)

C:\> adb start-server

* daemon not running. starting it now on port 5037 *

* daemon started successfully *

C:\> adb devices

List of devices attached

3435F6E6035B00EC device接下来,杀死System-B上的adb服务器

System-B$ adb kill-server最后,重新启动ssh会话到System-B并验证

System-B$ adb devices

List of devices attached

3435F6E6035B00EC device

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值