2010-12-11 94 views
12

虽然我确信这应该是可能的,但似乎无法找到以下信息: 我在机器上运行Android模拟器A.我正在开发另一台机器B,我在其中使用Eclipse。将Eclipse连接到另一台机器上的Android模拟器

现在,当我切换到Eclipse中的DDMS透视图时,我想让机器A的模拟器显示在设备选项卡中。

原因是,模拟器很慢,看起来像在不同的机器上运行开发和模拟器可能是一个解决方案。

由于模拟器运行在一个特定的端口,我很确定我只需要弄清楚如何告诉eclipse在哪里寻找模拟器。

感谢您的任何提示

回答

1

您可以告诉adb连接到侦听IP地址和TCP端口的设备。那个设备应该会在eclipse中出现。所以调试机很容易。

模拟器机器可能更难。仿真器正在侦听本地端口上的TCP连接。 IIRC已经确定没有命令行开关让它在外部接口上侦听,但仔细检查。所以你可能需要修改和重新编译模拟器,或者在主机上使用某种端口转发器。 ssh可能会为你处理,虽然我确定有其他工具没有加密开销,如果不需要的话。

+0

感谢您的详细信息! – pgruetter 2011-02-26 07:33:39

1

Eclipse不直接附加到仿真器。

adb后台进程控制与仿真器(以及真实设备)的通信。 Adb在TCP端口5037上侦听传入的命令。

我还没有试过你的方案,但这应该让你开始。

+0

好的,谢谢你的信息!也许有一种方法来改变adb,所以它也检查某些其他主机的模拟器。或者我可以完全改变adb,所以adb本身可以在另一台主机上运行。 – pgruetter 2010-12-12 21:24:36

+0

这就是我认为的 – mibollma 2010-12-12 22:19:11

2

与此同时,我找到了一个非常好的解决方案。我在虚拟机中安装了android-x86(http://www.android-x86.org)。 在主机上,你再使用如下命令重启亚行并连接到虚拟机:

adb kill-server 
adb connect <VM-IP>:5555 

更换VM-IP与虚拟机的实际IP。如果您在专用网络上,最简单的方法是将vm网络配置为桥接,以便VM从dhcp服务器获取自己的IP地址。尽管如here所述,还应该与主机专用网络一起工作。

如果一切顺利,您应该在Eclipse调试器中看到Android VM,就像正常的模拟器一样。

+0

其实,第一个命令kill-server是不必要的,你可以直接连接到一个新的设备,从控制台调用adb。 – pgruetter 2011-03-31 18:20:26

+0

为了找出vm的IP地址,请记住,您可以使用Ctrl + 2切换到控制台以使用ifconfig查找您的IP地址,然后使用Ctrl + 7切换回“android os”。 – pgruetter 2011-03-31 18:21:55

1

我做了以下步骤。我的机器上5557:

  • 启动亚行与连接remote_machine_IP

    1. 远程机器
    2. 启动远程机器上的端口转发应用程序(:5557为localhost 5555转发TCP)上启动模拟器
    3. 开始日食

    Eclipse会找到adb并列出设备。

  • +0

    你能否更清楚地解释第2步。你用什么应用程序转发端口? – xmen 2014-11-03 02:46:16

    1

    按照以下步骤来连接你的虚拟机的Eclipse IDE:从你的VM

    首先运行ICS,开辟Android的命令提示符。 (导航到应用程序和运行终端仿真器)

    类型“netcfg中”在终端找出IP您的虚拟机的

    然后去在cmd(Windows命令提示符)并移动到“平台工具”文件夹在你的Android安装路径(在我的情况CD C:\ Android的SDK-WINDOWS \平台工具

    然后输入 “亚行连接您的IP” 命令(ADB 连接190.156.10.122

    现在你可以在vm中调试你的android应用程序而无痛苦。尝试thisthis

    1

    经过这样的努力之后,我发现这个视频解释了如何在虚拟机中运行我的开发环境时在我的mac上运行模拟器。 http://youtu.be/CacpPleWsZM

    +0

    这段视频非常详细,一步步引导。感谢分享这个 – MichaelP 2013-09-08 09:06:41

    相关问题