我在x86 Windows XP Professional机器上有2.67 GHz赛扬处理器和1.21 GB RAM。

我的理解是,Android Emulator应该在这样的机器上启动得相当快,但对我来说,它没有。我遵循了设置IDE、SDK、JDK等的所有说明,并在快速启动仿真器方面取得了一些成功,但这非常罕见。如果可能的话,我如何解决这个问题?

即使它启动并加载主屏幕,它也非常缓慢。我已经在3.5版(伽利略)和3.4版(木卫三)中尝试过Eclipse IDE。


当前回答

简短回答:因为ARM->x86指令翻译。Emulator的工作方式与虚拟机类似,虚拟机的任务是启动一个完整的操作系统,然后运行测试应用程序。ARM->x86转换可能非常耗时,对您的应用程序来说更少,但对操作系统启动时更为耗时(这与复杂性和涉及的指令数量成正比)。

一些人建议在x86模拟器上运行代码。这意味着不需要加载基于ARM的操作系统,而是加载一个在x86机器上运行速度更快的x86变体,因为不需要ARM->x86转换。然而,这并不是一个完美的解决方案:

使用NDK并带有为ARM编译的本机库(*.so)的Android应用程序将无法在x86仿真器上运行,因此此类程序将无法运行。但是,如果您达到了这一点,并开始处理NDK/本机JNI代码,那么您可能已经对仿真器了解足够了。

其他回答

我注意到我的模拟器(Eclipse插件)被我的Nvidia图形卡抗锯齿设置大大减慢了速度。从图形菜单中删除2倍的抗锯齿功能,并将其更改为应用程序控制,使其响应速度更快。它仍然很慢,但比过去更好。

Android ADT 18现在包括一个(测试版)GPU启用选项(只需从AVD财产启用GPU加速)。它带来了巨大的变化,甚至ICS现在也感到相对舒适。

我只是注意到了一些我无法解释的事情,但嘿,对我来说,这很有效!

无论如何,我是从源代码编译Android的,内置模拟器在几秒钟内启动(我的机器是双核AMD 2.7 GHz),一分钟内,也许在第一次运行时两分钟,系统就启动了。另一方面,使用EclipseADT包会导致半小时的仿真器启动。不可接受的

在这里有效的解决方案(我没有办法在其他机器上测试它,所以如果你想测试并验证):

在您的机器上下载并构建Android SDK。这可能需要一些时间(你知道,整个系统的编译是令人厌烦的)。可在此处找到说明:正在初始化正在下载构建(我将命令更改为“午宴sdk-eng”和“makesdk-j4”;此外,构建提示非常有用,尤其是关于ccache和-jN选项)完成后,运行“android”,SDK管理器将出现。下载工具和所需的平台包。如果找不到命令,请尝试重新运行“”。“build/envsetup.sh”和“午餐sdk-eng”命令来设置路径;它们在退出终端会话后丢失。运行“仿真器”以检查其启动速度。对我来说,它比Eclipse捆绑版快得多。如果这有效,请将Eclipse指向您刚刚编译的SDK。左窗格中的窗口首选项Android->选择SDK位置。它应该是带有“tools”子分区的dir,以及“platforms”子分区中的一些内容。对我来说,它是<source-base-dir>/out/host/linux-x86Apply/OK,如果需要,重新启动Eclipse。如果它没有任何抱怨,运行你的Android应用程序。在我的例子中,模拟器在几秒钟内启动,并在一分钟内完成引导。还有一点延迟,但我完全可以接受。

此外,我同意从快照运行并将状态保存到快照。我的建议只涉及模拟器启动时间。我仍然不知道为什么默认情况下会这么长。无论如何,如果这对你有用,请享受:)

Android x86的使用提供了比Android模拟器更好的生产力。

与Android x86 4.2相比,它提供了极快的调试速度。配置速度快很多倍

它正在与最新的Android X86 4.2(果冻豆)和VirtualBox一起工作。

我找到了不同的方式来连接互联网和亚洲开发银行。

步骤:1选择适配器

情况1:仅Internet{NAT适配器}

最简单的解决方案是使用NAT适配器,如果主机连接到Internet,该适配器将直接将您连接到Internet。

在这里,您将获得一个公共IP地址,因此无法连接到主机。

情况2:仅ADB(仅主机适配器)

最简单的解决方案是只使用主机适配器。

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

案例3:亚洲开发银行和互联网(网桥适配器)

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

如果您使用LAN进行Internet连接,则应将网桥适配器与以太网卡一起使用。它将为您提供本地IP地址,虚拟机将使用主机连接到Internet。

或者,如果您使用Wi-Fi,只需选择Wi-Fi适配器即可。

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

步骤:2与亚洲开发银行的联系

要检查IP地址,只需按Alt+F1(对于控制台窗口)。(要切换回图形视图,请按Alt+F7。)

您将看到控制台窗口。键入netcfg。

它将显示IP地址。

现在转到主机,运行命令提示符,然后转到adb目录。

type adb connect <your IP address>

实例

adb连接192.168.1.51

注意:如果ADB未运行或未响应,您可以执行以下操作。

adb kill-server

adb start-server

您可以检查连接到ADB的设备:

adb devices

有关原始问题,请单击此处。

您可以尝试我们的新Android虚拟机Leapdroid,它与原始的Android模拟器完全兼容。由于它使用虚拟化技术而不是仿真,因此它提供了相当高的原生速度。此外,我们使用了一种名为LeapGL的新OpenGL技术,它以原生速度执行OpenGL图形。与其他vm相比,我们的vm具有最好的性能。

http://www.leapdroid.com

源代码:https://github.com/leapdroid

Leapdroid与Eclipse和AndroidStudio完全兼容,因为它使用相同的adb端口。