使用VMWare / VirtualBox等虚拟机进行调试?

时间:2012-05-18 06:51:46

标签: android debugging android-emulator virtual-machine virtualbox

我正在开发一个Android应用程序,但却厌倦了My emulator的性能 我在VM-ware和Android PC version

中都安装了Virtual Box

我可以将它用作模拟器吗?如果是这样,怎么样?如何将 ADB 连接到运行PC Android的虚拟机?

我在某个论坛中看到使用此功能但我的虚拟机 android没有特定的IP。

如何连接?

5 个答案:

答案 0 :(得分:11)

解决方案:

我强烈建议使用Android x86,因为它比使用Android x86 4.2的Android模拟器快许多倍,您可以安装和使用任何应用程序,并使用“Google play”同步与您的帐户同时使用平板电脑< / H3>

使用最新的Android X86 4.2 Jelly Bean和Virtual Box

我找到了与Internet和adb连接的不同方法

步骤:1选择适配器

案例1:仅限Internet {NAT适配器}

最简单的解决方案是使用NAT适配器,如果主机连接到互联网,将直接将您连接到互联网,但您不会通过此设置获得adb连接 在这里,您将获得公共IP,因此您无法连接到主机

NAT adapter

案例2:仅adb {仅限主机适配器}

最简单的解决方案就是使用Host Only Adapter

Host Only Adapter Settings

注意:默认的仅限主机适配器可能无法正常工作,因为DHCP服务器设置为现有适配器创建新HostOnlyAdapter或运行DHCP server

案例3:适用于adb和Internet {Bridge Adapter}

在这种情况下你必须小心。

如果您使用局域网进行互联网连接,您应使用以太网卡的网桥适配器,它将为您提供本地IP,虚拟机将使用主机连接到互联网

或者,如果您使用Wifi,只需选择Wifi适配器

即可

对于其他类型的连接,你应该采用相同的方式

Bridge Adapter

步骤:2与adb连接

检查ip地址只需按 Alt + F1 {对于控制台窗口} [要切换回图形视图,请按 Alt + F7 ]

您将看到控制台窗口类型 netcfg

它将显示IP地址

现在转到主机运行命令提示符移动到adb目录 型

 adb connect {your ip address}

实施例

  

adb connect 192.168.1.51

注意:如果adb没有运行或响应,您可以执行以下操作

adb kill-server

adb start-server 

您可以查看连接到adb的设备

adb devices

答案 1 :(得分:10)

根据您编辑的问题,如果您想将其连接到ADB,您需要检查VM的IP是什么:假设您使用VMWare的播放器;

在VM中点击 ALT-F1 并使用ifconfig命令知道为您的网络设备提供的IP地址(通常为eth0)。然后,您可以点击 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-x86 website。它还有许多可用于download的光盘映像。

答案 2 :(得分:1)

这不是您问题的直接答案,但您是否看到了提高模拟器性能的技巧(阅读Why is the Android emulator so slow? How can we speed up the Android emulator?

a)使用Intel Atom x86而不是ARM

b)使用hw.gpu.enabled

我想说这使得模拟器在性能上与真实设备相当。

更新1

一般来说,我们的想法是将Android PC配置为使用tcp / ip进行adb连接。您可能需要在VMWare或VirtualBox上使用网络设置。

有用的链接(试图完成你想要的东西

No network connection - Android-x86 on VMWare Fusion http://lkubaski.wordpress.com/2012/08/15/running-android-on-vmware-player-with-networking-enabled/ http://www.transdroid.org/2011/01/26/techpost-debugging-against-a-virtual-machine-android/

答案 3 :(得分:1)

  1. 在vmware上安装android x86

  2. 运行android终端写命令“ifconfig eth0”

  3. windows user make环境C:\ Users \ user-name \ AppData \ Local \ Android \ sdk \ platform-tools

  4. “adb connect VM的IP地址”:5555     现在在vmware上运行应用程序

答案 4 :(得分:-2)

节省一些时间: http://aztcs.org/meeting_notes/winhardsig/Android-vm/Android-VMwarePlayer-Win.pdf 开始使用VMWARE的好链接

如果您安装在以下目录/ opt / android-sdk-linux中 设置路径变量

export ANDROID_HOME=/opt/android-sdk-linux

export PATH=${PATH}:$ANDROID_HOME/tools:$ANDROID_HOME/platform-tools

执行路径后,如果您在控制台中输入“android”来查看应用程序,则路径设置正常。

create a hello world application(如果您有疑问,请在此处正确安装sdk)

运行hello world app

在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不那么油腻: - )