如何在Windows 8上针对API 21和19在没有硬件加速的情况下为Intel x86 Atom运行Android仿真器?


81

我尚未启用Hyper V或硬件加速,也不想。

有什么办法可以在Windows 8上没有硬件加速的情况下为Intel x86 Atom启动android仿真器

我创建了具有所有可能组合的AVD,但每个组合都无法启动AVD模拟器实例,因此在启动时会抛出相同的错误

仿真器:错误:x86仿真当前需要硬件加速!请确保正确安装了英特尔HAXM并可以使用它。CPU加速状态:未安装HAX内核模块!

或者是,如果没有针对API 21和19的硬件加速和hyper V,为Intel Atom 86和64提供的映像将无法运行

我发现了很多类似的问题,并且阅读了几乎所有文档,但是尚不清楚它们是否可以在没有hyper v和硬件加速的情况下运行或无法运行,因此直接

在这种情况下,您如何在android上进行测试?


3
“我尚未启用hyper v或硬件加速,也不想启用”。 为什么不呢?(特别是关于“ ...不想”的问题)是否可以使您显然需要工作的某些东西起作用?在2014年,何时几乎所有CPU都融入了虚拟化技术?
TJ Crowder 2014年

6
谢谢Tj,感谢您的回答和时间,因为我坚信提高和提高性能。它可以得到,但最初的问题仍然存在,如果没有硬件加速器,我们是否可以运行它们?
编码器2014年

大概有些方法可以纯软件方式执行此操作,但是错误消息提示您当前使用的仿真引擎在没有硬件帮助的情况下无法执行此操作。
克里斯·斯特拉顿

6
记住,我们很多人无法使用HAXM。专门针对AMD用户。
格兰特(A.Grandt)

1
对于AMD用户,这是在Windows OS上针对AMD的英特尔HAXM等效问题中讨论的,并且普遍的共识是改为使用Genymotion模拟器。
西蒙·伊斯特

Answers:


139

在当前的AVD管理器中,您不能这样做。您只是有机会使用不需要硬件虚拟化的ARM映像。

要运行ARM映像:

  1. 打开AVD管理器。
  2. 创建一个新的“虚拟设备”或右键单击一个现有图像并选择“复制”
  3. 选择arm *而不是x86 / x64。
  4. 继续执行向导。
  5. 跑!

虽然这是可用的解决方案,但仍然是一个缓慢的解决方案!


15
这应该是选择的答案。
user3041539

1
速度很慢,但是这种方式可以在没有硬件加速的情况下执行android仿真器。
建设者

1
选择设备大小后,您将获得选择系统映像的选项,其中一些映像在ABI栏下标记为armeabi-v7a
Eslam Sameh Ahmed

3
这里不是一个选择。
Eslam Sameh Ahmed

3
@HappyCoder“ 3.选择手臂* ..表示选择了以'arm'开头的一个
tormuto

32

您仍然可以通过从命令行运行并使用-no-accel选项(即从SDK / tools目录)运行x86仿真器来强制使用它:

emulator -avd AVD_NAME -memory 768 -no-accel -gpu on

但是,这仍然不适用于当前(V24)SDK,因为当前的x86系统映像使软x86模拟器崩溃:-(

我再次进行此操作的唯一方法是将SDK工具从此处降级到V22.3:http ://dl-ssl.google.com/android/repository/tools_r22.3-windows.zip 并使用降级的系统映像,例如https://dl-ssl.google.com/android/repository/sys-img/android/sysimg_x86-17_r02.zip。(因此,如果您需要在更新版本的Android上进行测试,这没有帮助)。

Google已基于最新版本的qemu迁移到其模拟器的更新版本,并为arm和mips模拟器提供了二进制文件,但省略了与x86等效的产品(没有emulator-ranchu-x86.exe和emulator64 -ranchu-x86.exe)。如果他们这样做了,或者其他人在设置“ x86”标志时设置并编译其仿真器源时遇到麻烦,那么可以想象使_x86软仿真再次工作。


3
这应该是公认的答案。所有其他的答案解释如何运行加速,不是没有
Jamby

这使我的模拟器在虚拟盒子上运行。慢但是要跑,是的!
Jankapunkt

@Graeme将SDK工具V22.3下载到一个单独的文件夹中,以使用该-no-accel选项测试和运行模拟器后,命令行会显示unknown option: -no-accel。过去该选项真的有效吗?指定的SDK工具版本是否正确?还是Google“更新”了V22.3程序包使其不再起作用?
MrCC 2013年

这实际上有效。它很慢(如预期),但可以正常工作。
Egor Pavlikhin

8

简短的答案:否。直到最近(大约1个月前),您都可以这样做,但是使用最新更新,是不可能的。(请参阅更新至Android SDK工具23.0.5,而avd无法启动)。

我正在做类似的事情:在虚拟机中进行开发,因此无法使用硬件加速功能,因为它们仅在主机中可用。我当时在使用带有“使用主机GPU”选项的Intel x86图像;因为即使没有硬件加速,它们也比ARM版本快得多。但是,在此更新之后,以前运行的模拟器AVD不再以相同的确切错误消息开头。另外,genymotion和Xamarin Android仿真器都不能使用,因为它们也需要硬件加速(它们实际上是使用硬件加速来提高速度的VM,因此不能在另一个VM内运行)。

我找到了此解决方案,但还没有尝试过。基本思想是仍然在VM内部进行开发。但要进行测试,请连接到在主机上运行的仿真器(该仿真器VM现在可以使用硬件加速功能)。


Thx,我想的也一样,我现在正在使用HA运行avds
dcoder,2014年

8

启动AVD时出现错误相同的问题:

1)从Android SDK Manager安装Intel x86 Emulator Accelerator(HAXM安装程序)

在此处输入图片说明

2)运行(对于Windows):

{SDK_FOLDER}\extras\intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exe

或(对于OSX):

{SDK_FOLDER}\extras\intel\Hardware_Accelerated_Execution_Manager\IntelHAXM_1.1.1_for_10_9_and_above.dmg

3)启动模拟器。


7
IntelHAXM用于设置基于硬件的仿真,原始海报无法使用此仿真
Tom Cerul 2015年

这不能解决OP的问题,但可以肯定地帮助我弄清楚了为什么即使安装HAXM后也无法运行x86映像。谢谢!
拉吉2016年

好了,这个问题清楚地问到,如果没有您在此处发布的内容,用于Intel x86 Atom的android仿真器可以工作。即启用HAXM?这篇文章如何解决@dcoder提出的问题?
Siva Senthil

有什么办法可以通过仅使用终端的linux(ubuntu)实现这一目标?
Vini.g.fer

3

有什么办法可以在Windows 8上没有硬件加速的情况下为intel x86 atom启动android仿真器

不支持标准的Android SDK仿真器,因为它需要英特尔的HAXM,并且HAXM希望启用虚拟化扩展。

我不能说Genymotion或其他独立开发人员的其他产品可以支持您所需的组合。


Thx cw,如果是这样,那么让我尝试Genymotion并再次与您联系,Thx
编码器2014年

@dcoder您可以让Genymotion工作吗?因为我对AVD和HAXM也有麻烦。我的另一个选择是Genymotion。因此,我想了解它是否对您有用。
eluleci 2015年

关键是它过去可以使用软x86仿真在SDK的早期版本上运行。因此,问题是a)如何重新启用x86软仿真,或b)如何将SDK降级到可以再次使用的程度。
Graeme Gill 2015年

@GraemeGill:“它曾经使用软x86仿真在SDK的早期版本上工作” –据我所知,x86仿真器映像始终需要HAXM。自2012年底以来,肯定需要使用HAXM。如果您有相反的证据,请提供链接。
CommonsWare,2015年

@CommonsWare:请参阅以下我的答案,以获取具有正常工作的x86仿真器的系统版本。
Graeme Gill

3

硬件加速的使用取决于您在模拟器上选择的系统映像。

所以,

  1. 转到AVD管理器,创建虚拟设备,选择硬件,然后单击下一步。

  2. 选择不需要HAXM(硬件加速)即可运行的系统映像。(它显示在“系统映像”窗口的右下角。)

注意:对于需要HAXM的其他系统,没有硬件加速就无法运行它们。


3

使用bluestacks作为模拟器以获得最佳性能。blusestack可以快速运行,而无需基于硬件的仿真

将bluestack连接到android studio。

  • 关闭Android Studio。
  • 转到adb.exe位置(默认情况下为C:\ Users \ Tarun \ AppData \ Local \ Android \ sdk \ platform-tools)
  • adb connect localhost:5555从此位置运行。
  • 启动Android Studio,然后在运行应用程序时将Blue Stack作为模拟器。

无法分配请求的地址
Elia Weiss

1

我遇到了同样的问题,我在http://developer.android.com/tools/devices/emulator.html#vm-windows找到了解决方案

只需遵循以下简单步骤:

  1. 启动Android SDK Manager,选择Extras,然后选择Intel Hardware Accelerated Execution Manager

  2. 下载完成后,运行[SDK] /extras/intel/Hardware_Accelerated_Execution_Manager/IntelHAXM.exe

  3. 按照屏幕上的说明完成安装。


29
这不能回答“我们可以在没有硬件加速的情况下运行它吗?”的问题。
Pacerier,2014年

13
这不是答案!你甚至读过这个问题吗?他们是谁支持这个答案的?
Morteza 2015年

您回答安装了这个问题不要的英特尔硬件加速执行管理器
拉杰夫·库马尔

如果HAXM因为缺少最新的可视化功能而不能在您的x86主机处理器上运行,那么这不是解决方案。
Graeme Gill 2015年

1

请参阅intel.com的要求:重要说明:不能在没有Intel处理器或缺少上面“硬件要求”部分中描述的硬件功能的Intel处理器的系统上使用Intel HAXM。确定您的Intel处理器的功能

[英特尔®硬件加速执行管理器的安装说明] https://software.intel.com/zh-cn/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager-mac-os-x

我的电脑不支持vt-x,我不能使用android studio 1.0.2。


1
您仍然可以使用android studio,但是在AVD Manager中创建新的虚拟设备时请使用“ arm”而不是“ x86”图像
robson 2015年

使用手臂仿真并不能帮助您测试x86本机代码。
Graeme Gill

1

是的,可以在没有硬件加速器的情况下运行android仿真器。实际上,您需要打开android虚拟设备。当您到达系统映像配置时,它会建议您要使用哪个版本的android映像。无论您选择哪种版本的android系统映像,都需要确保ABI为armeabi-v7a,并且目标为具有Google API的系统映像ameabi-v7a。然后完成其余任务,并签出模拟器。


这不是问题要问的。
罗里·麦克罗斯

1
运行armabi不能帮助调试特定于x86的错误。
Graeme Gill

0

我有一台没有英特尔c2d且没有硬件加速的电脑,在android studio中也遇到了同样的问题。首先,我对android studio感到无聊,并安装了eclipse + sdk + adt,然后我安装了所有东西并启动了它可以工作的模拟器,然后在android studio中使用了相同的模拟器来直接在android studio中启动应用程序,并且我还运行了该模拟器的示例应用程序因此即使您的处理器不支持vt-x,您也可以在没有虚拟化技术的情况下运行android studio


0

您至少需要“ VT-x支持的处理器”才能通过硬件加速运行Android仿真器。

如果您已在Windows 8中启用或安装了“ Hyper-V”,请删除它并禁用“ Hyper threading”并启用“ Virtualization”。


当虚拟化不可用时,为什么不自动回到软x86仿真?SDK曾经能够做到这一点。
Graeme Gill 2015年

0

运行“应用程序”(绿色三角形)时:在设备选择器中,选择启动仿真器,然后单击按钮[Rigth],然后单击Nexus(或其他),然后单击“复制”。可下载的系统映像。查找armeabi-v7a操作系统,然后单击下载。在设备中设置此操作系统。单击完成,然后选择该设备进行仿真。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.