Android Studio中的模拟器无法启动


85

我认为这是Project Structure中SDK参考的问题,但是当我单击run并选择Launch Emulator时,什么都没有出现。


1
可能是您在应用程序启动时一头雾水,可能是您的应用程序最低SDK高于仿真器SDK,或者您的PC有问题。为什么有这种选择的原因有很多选择...如果没有更多信息,我们只能猜测。
Ilya Gazman

我有适用于Eclipse和模拟器的“旧” sdk Android,那里正常启动。我使用了1.6 JDK,但奇怪的是我在AS中没有收到任何失败消息。
亚历山德罗·马蒂齐

我使用Google Api 2.2在管理器中创建了新的虚拟设备,现在它开始了.....抱歉
Alessandro Mattiuzzi

6
我遇到了类似的问题,这不是由模拟器中的SDK版本引起的,而是由RAM的数量引起的,当您创建映像时会出现警告,指出模拟768MB以上的内容可能会在Windows上引起问题,并且我已修复这样(我试图用1GB RAM创建它),现在有了768MB,它运行良好。
VoidMain 2013年

Answers:


59

我有同样的问题。我刚刚创建了具有768 MB RAM的AVD,它确实运行良好!


2
嘿! 很好,很有效。有人知道原因吗?仅在android studios中存在此问题吗?
沙伊尔·阿迪

2
我的月食也有这个问题...所以看来Windows上的Android SDK中有问题。(未经验证-只是摇摇晃晃)。
蒂莫西·李·罗素

15
对于像我这样的新手。工具> Android> AVD管理器。创建设备时,您可以在“ Android虚拟设备(AVD)”中找到该设置,然后单击“显示高级设置”。tinypic.com/r/ehhpms/8 Btw我尝试了768 MB RAM,但是没有用。尝试从CMD运行仿真器emulator.exe -netdelay none -netspeed full -avd Nexus_S_API_21_2会给我错误:HAX kernel module is not installed!(x86)。可能的解决方案:stackoverflow.com/q/26355645/1066234
Kai Noack 2014年

1
这对我有用。Windows 7的-机器人工作室2.3.1
维吾尔族Gümüşhan

该解决方案对我不起作用,但是可以手动升级x86_64映像的HAXM。请参阅我的答案以获取更多信息stackoverflow.com/a/46312480/539149
Zack Morris

37

我遇到了类似的问题... Android模拟器无法打开。您需要发现这种情况的原因...您可以从命令行运行模拟器。为此,您可以从“运行”或“ AVD” Android Studio控制台复制并粘贴命令行。例如:

“ {path} \ android-sdk \ tools \ emulator.exe -avd Default_Nexus_5 -netspeed full -netdelay none”

当您从命令行终端启动它时,它会向您显示一条错误消息。就我而言,这对于发现问题很有用:

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

  • 我需要使用一种工具在计算机上启用GPU加速功能。我解决了从SDK Manager工具HAXM安装...

  • 我遇到了另一个问题...例如,我为虚拟设备的皮肤路径分配了错误的URL ...为了解决该问题,我为虚拟设备配置了来自平台sdk的有效皮肤:'{path} \ android- sdk \ platforms \ android- {number} \ skins {SCREEN_SIZE}'

现在可以打开了。

更新8/8/2019:

对于较新版本的Android SDK,仿真器路径应为:

“ {path} \ android-sdk \ emulator \ emulator.exe”

参考(感谢@CoolMind)


我在命令行上进行了尝试,得到的只是“失败请求的X错误:BadRequest(无效的请求代码或没有这样的操作)”。这种解释使我感到困惑和愤怒。这对您有意义吗?
theJollySin

1
您有ATI显卡吗?如果您搜索错误消息...,您可能会发现一些错误消息相同的人...就我而言,我的错误有所不同,我可以通过在我的PC BIOS中激活GPU加速并安装haxm工具来解决该错误。您的问题似乎是android模拟器和视频驱动程序之间的类似通信问题。
阿里埃勒·卡雷拉

1
感谢您的命令行。它帮助我看到了“ PANIC:损坏的AVD系统路径。检查您的ANDROID_SDK_ROOT值[D:\ Android]!”。请注意,新版本的仿真器不需要Android\sdk\emulator\emulator路径tools\emulator,请参阅stackoverflow.com/a/51627009/2914140
CoolMind

@ArielCarrera,非常感谢!您做得很好,并帮助我启动了仿真器(几个月以来我一直无法这样做),请参阅stackoverflow.com/a/57408085/2914140
CoolMind

我很高兴它有所帮助!
阿里埃勒·卡雷拉

21

以我为例,Android在启动时挂起。我通过使用Android虚拟设备管理器(工具-> AVD管理器)擦除用户数据并强制进行冷启动来解决

在此处输入图片说明


更改网络连接时遇到了同样的问题。AVD并非从那时开始。这个解决方案对我
有用

为什么会这样?我添加了一些我认为是引起图标资源的原因
Dazzle

13

似乎“正在等待目标设备联机...”是在模拟器无法正常启动时始终出现的通用消息。那是什么原因呢?如您所见,可能有很多原因。

我认为,使用仿真器查找具体错误的最佳方法是在终端中启动它。所以:

1-打开终端并转到以下文件夹:~/Android/Sdk/tools

2-使用以下命令启动仿真器:

./emulator -avd EMULATOR_NAME -netspeed full -netdelay none

您可以使用以下命令查看(以前使用AVD Manager创建的)仿真器的名称:

./emulator -list-avds

如果一切正常,则程序不会启动,而是在终端中写入具体错误。

就我而言,该应用程序说加载图形驱动程序有问题(“ libGL错误:无法加载驱动程序:r600_dri.so ”)。由于它是解释在这里,似乎谷歌打包了Android Studio中的一个旧版本的一个库,当它试图用我的显卡模拟器失败。

解?非常简单:使用系统库而不是Android Studio中打包的库。怎么样?在命令末尾添加“ -use-system-libs”。所以:

./emulator -avd EMULATOR_NAME -netspeed full -netdelay none -use-system-libs

最终的解决方案是为您的用户/系统将ANDROID_EMULATOR_USE_SYSTEM_LIBS环境变量设置为1。进行此更改后,当我在Android Studio中运行模拟器时,它还将加载系统库。

PS 1-我发现设置环境变量的最简单方法是修改启动Android Studio的脚本(studio.sh(在我的情况下,它在/ opt / android-stuido / bin内),然后在开头添加这个:

export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1

PS 2-我使用Debian Jessie和Android Studio 2.2.3。我的图形卡是Sapphire的ATI Radeon HD 6850。

2017年12月更新:我在Debian Stretch和Android Studio 3.0.1(相同的图形卡)中遇到了相同的问题。相同的解决方案对我有效。


11

1)如果没有,请打开SDK Manager并下载Intel x86 Emulator Accelerator(HAXM安装程序)。

2)现在转到您的SDK目录(通常为C:\ users \ username \ AppData \ Local \ Android \ sdk)。在此目录中,转到Extra> intel> Hardware_Accelerated_Execution_Manager,然后运行名为“ intelhaxm-android.exe ”的文件。

如果出现类似“未启用英特尔虚拟化技术(vt,vt-x)”的错误。进入BIOS设置并启用“硬件虚拟化”

3)重新启动Android Studio,然后尝试再次启动AVD。

显示仿真器窗口可能需要一两分钟。


2
在SDK管理器中的“状态”列中x86 Emulator Accelerator(HAXM安装程序)旁边,它说“与Windows不兼容:-(
Darkloki

运行“ intelhaxm-android.exe”文件后,只有删除选项可用。这是预期的行为吗?
Tilak Dewangan

1
@Abhishek Balani,您的解决方案为我工作,非常感谢您。经过一天的尝试,安装/卸载后,按照您的步骤操作,我发现我使用的是较旧的Intel x86 Emulator Accelerator 6.x,而最新的是7.x。因此,我继续安装了7.x,然后重新启动了Android Studio。另外,qemu-system-x86_64.exe由于没有仿真器显示,但是它们从以前运行,因此我必须通过在任务管理器中结束杀死仿真器实例。如果模拟器未显示,则由于加速器版本较旧,它在我的情况下仍在运行。
Sunil


3

我在Mac OS X 10.12.6上的Android Studio 2.3.3中遇到了相同的问题,该问题是由使用旧版本的HAXM的Android Studio(应为6.2.1时为6.0.3)引起的:

$ kextstat | grep intel
  148    0 0xffffff7f8342c000 0x14000    0x14000    com.intel.kext.intelhaxm (6.0.3) 50449AFC-F7C6-38A0-B820-233E8A050FD6 <7 5 4 3 1>

按照说明从Android Studio中删除和重新安装HAXM无效: https ://software.intel.com/zh-cn/android/articles/installation-instructions-for-intel-hardware-accelerated-execution-manager -mac-os-x

相反,请手动下载HAXM安装程序,或者如果该链接过期,英特尔®硬件加速执行管理器(英特尔®HAXM)下的https://software.intel.com/zh-cn/android/tools下找到它

运行安装程序后,现在显示已安装当前版本的HAXM:

$ kextstat | grep intel
  169    0 0xffffff7f83472000 0x1d000    0x1d000    com.intel.kext.intelhaxm (6.2.1) 7B6ABC56-699C-3449-A0EC-BEB36C154E3C <7 5 4 3 1>

手动升级HAXM之后,我可以启动x86_64模拟器。


旧的答案,可能会代替(请注意,这对于x86_64图像不适用于我):

创建一个新设备:

Tools->Android->AVD Manager

+ Create Virtual Device

Tablet-> Nexus 7->Next

Recommended选项卡应突出显示。

即使我安装了API Level 25 SDK,它仍然显示:

牛轧糖Download25 x86 Android 7.1.1(Google API)

因此,我单击了Download似乎已修复API Level 25 SDK的链接。我完成了新设备的创建,并且运行良好。

不幸的是,我已经删除了旧设备,因此,如果该设备适用于其他人,请在此处发表评论,以便我们了解您的原始设备之后是否可以正常工作,谢谢!




2

我有类似的问题,但是我通过在我的AVD中切换到“ Android 4.2.2 armeabi-v7a”(我需要在Jelly Bean上进行测试)解决了这一问题,它为我解决了这个问题。

似乎发生的是我的处理器是AMD,无法启动Intel X86硬件仿真。因此,我更改为使用除“ x86”之外的“ API”(即使它建议我使用x86)。希望这可以帮助。



2

如果仍然有人无法启动avm,请在尝试运行avm时注意android studio事件日志。当我尝试运行avm android studio时,提到我的环境变量ANDROID_SDK_HOME设置为与ANDROID_HOME相同的位置,但不应设置为该位置。建议删除我所做的变量ANDROID_SDK_HOME,然后重新启动android studio,然后avm开始工作。


2

使用Ubuntu,我遇到了同样的问题。我通过将文件/dev/kvm权限更改为777来解决了该问题:

sudo chmod 777 /dev/kvm

2

只要检查您是否遇到此问题“ BIOS中的vt-x已禁用”

在此处输入图片说明

在这种情况下,您需要启用虚拟化技术


1

它可能不会开始,因为你

要么

  • 没有下载正确的SDK

如果您是从Eclipse迁移项目的,则可能是在运行仿真器时您会被此消息束缚,看不到其他内容:

等待设备。

如果打开设备管理器,您可能会看到类似以下内容的信息:

在此处输入图片说明

只需重新创建设备即可。


1

我也遇到过类似的问题。您可以编辑配置或使用更高的RAM创建新的AVD。也可以尝试将Heap增加到128。即使没有HAXM,模拟器也可以正常运行


1

我有同样的问题。我刚刚创建了具有768 MB RAM的AVD,它对我来说确实运行良好。我用过API 22(棒棒糖版本)。


1

除了使用外部仿真器(例如bluestacks)之外,您还可以创建一个新的新AVD并选择API级为21的ABI为armeabi-v7a的系统映像,而不是选择失败的x86的ABI。我遇到了同样的问题,我尝试了一下,并且奏效了。希望这也会有用。



1

我花了几个小时解决这个问题。对我有用的是打开“工具”->“ Android”->“ SDK管理器”,在屏幕左侧的“系统设置”下选择“ Android SDK”,然后转到“ SDK工具”标签。然后,我取消选中Android模拟器和Intel x86 Emulator Accelerator的设置。我应用了这些更改,重新启动了Android Studio,然后重新检查了这些选项并应用了更改。该程序重新安装了仿真器组件,并且一切正常。希望这对某人有帮助。


1

我将android-SDK文件夹移动到D:/之后在Windows 10上遇到了同样的问题,因为我的c:/空间不足。

事实证明,Android模拟器通过全局(环境)变量而不是Android Studio内部定义的路径来寻找Android SDK。

因此,我编辑了ANDROID_HOME的Environment变量,就是这样。



1

在Android Studio中2.3.3我能够通过改变让我的AVD启动并运行GraphicsEmulated Performance从部分AutomaticSoftware-GLES 2.0

在此处输入图片说明

在遵循https://stackoverflow.com/a/44931679/1843329的建议并执行以下操作后,我能够推断出这一点:

$ ./emulator -avd Nexus_4_API_21 -use-system-libs

结果是:

emulator: ERROR: Could not initialize OpenglES emulation, use '-gpu off' to disable it.

当我这样做时:

./emulator -avd Nexus_4_API_21 -use-system-libs -gpu off

然后启动模拟器。


1

访问BIOS设置并打开虚拟化功能。我的是与CPU风扇速度和其他东西一起使用的。 然后,确保Windows功能ON / OFF中的Hyper-V已关闭然后重新安装intel HAXM,这应该可以解决此问题。


我没有Hyper-V窗口功能
Ram

1

我遇到了同样的问题。从我所做的一些研究中,我意识到我的计算机不支持虚拟化。所以我必须安装BLUESTACKS。相信我能成功...您也可以尝试。

  1. 只需转到目录C:\ Android \ sdk \ platform-tools并双击 adb
  2. 确保您的bluestack正在运行。
  3. 当您尝试运行该项目时,该项目会自动显示为可与bluestacks一起运行...。只需选择bluestack即可。

如果您想要设置bluestack,只需在google上进行设置,您就可以免费下载许多站点。


0

我遇到了同样的问题。我决定创建(请参阅左下方的按钮)。我定义了图像以匹配我的设备,这似乎可行。

我在考虑使用Android Studio 1.0.1版时,仍然有很多错误。


0

只需检查错误日志,您就应该知道该错误。如上所述,它可能是窗口加速HAXM错误,在这种情况下,您必须单独安装...通常路径为c:\ users \ youruser \ appdata \ local(运行一些名为HAXM的bat文件)

这里的错误是在android studio中弹出的,而以上是解决这个问题的方法。请确保正确安装了英特尔HAXM并可以使用它。CPU加速状态:未安装HAX内核模块!

进一步告诉我问题是否仍然存在,在此之后,我想您将能够在屏幕上看到nexus 5仿真器


0

现在我在Mac上使用android studio,但出现了问题。当我在cmdline中执行模拟器时,出现错误消息。因此,我认为可能没有对模拟器的exe许可。然后,当我通过chmod向其添加权限时,一切正常。


0

原因之一可能是所选的ABI不适合您的系统。对我来说,只有arm64在起作用。

图片1 图片2


您有AMD处理器吗?
桑契特

@Sanchit是的。但是速度如此之慢,以至于仿真器几乎无法使用。(我从不使用它们)
Bevor

0

如果您发现在Android Studio中打开仿真器很困难,也可以在android studio中下载genymotion。

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.