我正在开发一款Android应用程序,但是我对我的模拟器
的性能感到不满。我已经在VMware和VirtualBox
中都安装了一个Android PC版本
。
我可以将其用作模拟器吗?如果可以,如何操作?如何将ADB连接到运行PC Android的虚拟机上?
我在某个论坛上看到要使用这种方法,但是我的VMs Android没有特定的IP地址。
我该如何连接呢?
我正在开发一款Android应用程序,但是我对我的模拟器
的性能感到不满。我已经在VMware和VirtualBox
中都安装了一个Android PC版本
。
我可以将其用作模拟器吗?如果可以,如何操作?如何将ADB连接到运行PC Android的虚拟机上?
我在某个论坛上看到要使用这种方法,但是我的VMs Android没有特定的IP地址。
我该如何连接呢?
使用最新的Android X86 4.2 Jelly Bean和Virtual Box
我找到了不同的连接Internet和adb的方法。
最简单的解决方案是只使用NAT适配器,如果主机连接到Internet,则会直接连接到Internet,但是您将无法使用此设置进行adb连接。在这里,您将获得公共IP,因此无法连接到主机计算机。
最简单的解决方案是只使用Host Only Adapter
注意:由于DHCP服务器设置的原因,默认的Host Only适配器可能无法工作,因此要么创建新的HostOnlyAdapter
,要么针对现有的适配器运行DHCP服务器
。
在这种情况下,您必须进行细心处理。
如果您使用LAN进行Internet连接,则应使用带有以太网卡的桥接适配器,它将为您提供本地IP,并且虚拟机将使用主机机器连接到Internet。
如果您使用WiFi,则只需通过选择WiFi适配器执行相同操作。
对于其他类型的连接,您应该按照同样的方式进行操作。
要检查IP地址,只需按Alt+F1 {进入控制台} [要切换回图形视图,请按Alt+F7]。
然后会看到控制台窗口,输入netcfg。
它将显示IP地址。
现在转到您的主机上并打开命令提示符,移至adb目录,键入
adb connect {your ip address}
adb connect 192.168.1.51
adb kill-server
adb start-server
你可以检查连接到adb的设备
adb devices
根据您编辑的问题,如果您想将其连接到ADB,则需要检查虚拟机的IP地址:假设您使用VMWare Player;
在虚拟机中按下 ALT-F1,使用 ifconfig
命令查看分配给网络设备(通常为 eth0
)的IP地址。然后可以按 ALT-F7 返回到Android UI。
接下来,在您的主机PC上执行 adb connect [ANDROID_X86_IP]
命令将SDK调试器连接到Android x86 VM;例如:adb connect 192.168.1.100:5555
。
然后您应该能够看到已连接的设备列表,并能够用于调试。
ADB通常位于计算机用户文件夹的子文件夹中: ~/Android/Sdk/platform-tools
。建议将其添加到您的路径中,这样您就可以在终端中随时访问它。我个人在 ~/.bash_profile
中使用以下代码:
#add Android platform-tools directory
PATH=~/android-sdks/platform-tools:$PATH
export PATH
如果ADB第一次失败,您可以尝试使用adb kill-server ; adb start-server
重置ADB。这并不是对你问题的直接回答,但你是否看到了增加模拟器性能的技巧(阅读为什么Android模拟器很慢?我们如何加速Android模拟器?)
a) 使用Intel Atom x86而不是ARM
b) 使用hw.gpu.enabled
我认为这使得模拟器在性能上与真实设备相当可比。
更新1
一般来说,想法是配置Android PC使用tcp/ip进行adb连接。您可能需要在VMWare或VirtualBox上调整网络设置。
有用的链接(试图实现您想要的)
无网络连接 - 在 VMWare Fusion 上运行 Android-x86 http://lkubaski.wordpress.com/2012/08/15/在 VMWare Player 上启用网络的运行 Android/ http://www.transdroid.org/2011/01/26/techpost-debugging-against-a-virtual-machine-android/
在VMware上安装Android x86
运行Android终端并输入命令"ifconfig eth0"
Windows用户需设置环境变量:C:\Users\user-name\AppData\Local\Android\sdk\platform-tools
export ANDROID_HOME=/opt/android-sdk-linux
export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools
执行路径后,如果您在控制台中键入"android"并看到应用程序,则说明您的路径设置正确。
创建一个Hello World应用程序(如果您有问题,请正确安装SDK)
运行Hello World应用程序
在VM中按ALT-F1并使用netcfg命令了解分配给eth0设备的IP地址。然后,您可以按ALT-F7返回Android UI。然后,在您的主机PC上,执行adb connect [ANDROID_X86_IP]以将SDK调试器连接到Android x86 VM;例如:adb connect 192.168.1.100:5555。如果有问题,请先停止服务adb kill-server;再启动服务adb start-server。
在控制台中更改目录至/android-sdks/platform-tools,然后键入:
./adb connect 192.168.1.100 (请注意,需要192.168.1.100,它默认端口为5555)
我必须使用./adb前缀,然后配置VMWARE实例。
避免使用XAML让我感觉轻松自在。