当我尝试在Eclipse中运行Android仿真器时发现了此问题。无法弄清楚发生了什么。我在网上搜索了解决方案,但似乎含糊不清,我不清楚。我按照步骤根据站点安装AVD,但无法弄清错过的地方。请按照以下步骤向我解释。
当我尝试在Eclipse中运行Android仿真器时发现了此问题。无法弄清楚发生了什么。我在网上搜索了解决方案,但似乎含糊不清,我不清楚。我按照步骤根据站点安装AVD,但无法弄清错过的地方。请按照以下步骤向我解释。
Answers:
“ ARM EABI v7a系统映像”必须可用。通过Android SDK管理器进行安装:
另一个提示(请参阅此处)-与
您可以打开GPU仿真以获得更快的仿真器:
注意:根据you786的注释,如果您以前创建了模拟器,则需要重新创建它,否则将无法正常工作。
备选方案1
英特尔提供了“ 英特尔硬件加速执行管理器 ”,它是用于执行X86映像的基于VM的仿真器,并且还由Android SDK Manager提供。在此处查看有关英特尔仿真器的教程:HAXM加快了Android仿真器的速度。罗曼·纽里克(Roman Nurik)在这里发表文章说,搭载Android 4.3的英特尔仿真器正在“快速发展”。
备选方案2
在上述文章的评论中,您可以找到对Genymotion的引用,该引用被称为“用于应用程序测试和演示的最快的Android模拟器”。Genymotion在VirtualBox上运行。另请参见他们在Google+上的网站,Cyril Mottier的这篇文章和reddit的本指南。
备选方案3
在XDA论坛中,我读到了关于MEmu的信息-最强大的Android PC模拟器,比Bluestacks更好。您可以在此处找到仿真器。这把我带到...
备选方案4
...此XDA论坛条目:如何使用THE FAST!BlueStack作为您的备用Android开发模拟器。您可以在此处找到仿真器。
出现此错误的另一个原因是Eclipse找不到正确的文件。
查看Eclipse在哪里寻找您的SDK文件。您可以在命令行上执行此操作。以下是Windows命令提示符下我创建并命名为'SonyTabletS'的avd的示例:
c:\Program Files (x86)\Android\android-sdk\tools> emulator @SonyTabletS -verbose
返回的第一行显示了eclipse在哪里寻找SDK文件,看起来像这样:
emulator: found ANDROID_SDK_ROOT: C:\Program Files (x86)\Android\android-sdk
确保位置正确。
就我而言,ANDROID_SDK_ROOT
最初是错误地设置到我的主目录。这是因为我通过盲目遵循Sony Tablet S SDK安装说明并ANDROID_SDK_ROOT
使用错误的路径添加环境变量来进行设置。
我的故事是,Eclipse需要kernel-ranchu
在系统映像文件夹(/path/to/android-sdk-macosx/system-images/android-25/google_apis/arm64-v8a
)中创建一个名为“ ”的文件。
模拟器:错误:此AVD的配置缺少内核文件!请确保文件“ kernel-ranchu”与系统映像位于同一位置。
模拟器:错误:ANDROID_SDK_ROOT未定义
在该系统映像文件夹中,有一个名为“ kernel-qemu
” 的文件。我只是将其重命名为“ kernel-ranchu
”,它的工作原理是...
我有同样的问题。就我而言,事实证明我在Android Studio提供的版本旁边安装了另一版本的sdk。将我的ANDROID_SDK_ROOT环境变量更改为原始值已为我修复。
这是我的故事。在AVD管理器上的“操作”下,我查看了无效的AVD的详细信息。向下滚动,找到以下行:
image.sysdir.1: add-ons\addon-google_apis-google-16\images\armeabi-v7a\
然后,我在以下位置导航到该文件:
C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a
我发现没有内核文件。但是,我确实在以下位置找到了内核文件:
C:\Users\XXXX\AppData\Local\Android\sdk\system-images\android-16\default\armeabi-v7a
所以我将其复制并粘贴回:
C:\Users\XXXX\AppData\Local\Android\sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a
AVD随后开始工作。
在管理员模式下打开AVD Manager。选择VM,然后单击Edit,单击OK,启动VM。
编者注:在管理员模式下,他的意思是右键单击>在Windows平台上以管理员身份运行。
如果您知道计算机上已安装了内核文件,则问题是无法通过emulator.exe进行查找。
我的修复基于user2789389的帖子。我可以从AVD管理器启动AVD,但不能从命令行启动。因此,使用AVD Manager,我选择了要运行的avd,然后单击“详细信息”。那向我展示了avd定义文件的路径。在同名文件夹中,在该.avd文件旁边,我找到了config.ini文件。在ini中,我找到了以下行:
image.sysdir.1=system-images\android-19\default\armeabi-v7a\
我查看了文件夹C:\ Users \ XXXX \ android-sdks \ system-images \ android-19,发现image.sysdir.1路径无效。我必须删除“默认”子文件夹,因此将其更改为以下内容:
image.sysdir.1=system-images\android-19\armeabi-v7a\
我保存了ini文件,然后再次尝试启动AVD。那解决了问题!
我将android SDK更新到了最新版本(API 19)。当我尝试使用phonegap 3运行仿真器时,构建成功,但是运行相同的问题。
在AVD管理器中,存在一个存在的设备,但是其参数都是未知的。肯定会发生这种情况,因为我卸载了旧的SDK版本(API 17),该版本在尝试删除设备时返回了第二个错误。出现消息:“设备已在运行”
为了解决该问题,我转到了〜/ .android / avd /中的AVD位置,并手动删除了设备directory.avd和device.ini文件。最后,在设备管理器中,我创建了由最新API提供的新AVD。
这允许phonegap成功构建并运行模拟器
我希望这有帮助
美好的一天
请参阅我对Android Studio环境,Mac和“ PANIC:缺少用于“ ARM” CPU的仿真器引擎程序”的回答。。
要解决此问题,您需要-kernel
手动指定路径。即
$ ~/Library/Android/sdk/emulator/emulator @Galaxy_Nexus_Jelly_Bean_API_16 -kernel ~/Library/Android/sdk/system-images/android-16/default/armeabi-v7a/kernel-qemu
请记住将仿真器名称更改Galaxy_Nexus_Jelly_Bean_API_16
为您自己的仿真器名称。
下面的命令用于检查可用于命令行的仿真器。
$ ~/Library/Android/sdk/emulator/emulator -list-avds
另外,请确保仿真器路径正确,即位于的路径~/Library/Android/sdk/emulator/
。
就我自己而言,我有多个错误,其中大多数是关于错误配置的ANDROID_SDK_ROOT的,最终,一件事似乎可以解决整个问题。
请遵循以下过程:
在AVD上创建新的仿真器设备后,转到“操作”菜单,然后单击向下箭头,如下所示。
单击在磁盘上显示
编辑Config.ini
寻找image.sysdir.1
它应具有以下值:** image.sysdir.1 = system-images \ android-28 \ google_apis_playstore \ x86 **
您自己的价值可能有所不同
现在,修复Android Sdk的路径以形成完整路径。
image.sysdir.1 = ** C:\ androidsdk ** system-images \ android-28 \ google_apis_playstore \ x86 \
如果您注意到,上面显示的android sdk路径与正常的默认android sdk不同,我必须将其移动到C:/ androidsdk以避免NDK问题,因为我PC上的主要用户主目录具有NDK可能不支持的空格。
注意:将SDK目录从其默认目录移开通常是造成这些错误的原因,AVD模拟器会给出这些错误,尤其是有关路径损坏和配置错误的情况。我上面提供的修复程序是一种快速修复程序,您每次在AVD Emulator上创建新设备时都可能需要这样做。
当使用cordova进行CMD时,此修复程序也应该起作用。
只是想分享我在这个问题上的经验。参考这里的每个答案,这与我的情况不符。拥有适用于Android API 22的系统映像会导致此错误,而奇怪的是所有环境变量都指向正确的目录。这没有道理。
@BuvinJ的答案使问题更加清晰。我确实检查了他回答中描述的路径,是的,当我查看用户目录(在Windows上)时,我的系统映像副本位于默认的子文件夹下。
奇怪的是,ANDROID_SDK_ROOT中也有一个android-sdk文件夹,所以我认为也许Eclipse在找那里。浏览子文件夹后,我发现该目录如下所示:
android-sdk-windows\system-images\android-22\google_apis\armeabi-v7a
该目录位于ANDROID_SDK_ROOT上。用户目录user / XXXX / android-sdk /中还存在一个。
Eclipse在这里期望它:
android-sdk-windows\system-images\android-22\default\armeabi-v7a
只需更改目录就可以了。
在Windows的命令提示符中更新以下命令:
i)android update sdk --no-ui --all //它会更新您的SDK包,需要3分钟。ii)android update sdk --no-ui --filter platform-tools,tools //更新平台工具及其软件包。iii)android update sdk --no-ui --all --filter extra-android-m2repository //正在使用maven项目的人对此进行了更新,以支持最新的支持设计库,其中包括额外的maven android maven Repository。
1)在命令提示符下,询问您是否输入Y / N。单击Y,然后继续进行安装。2)它更新所有Kernel-qemu文件和qt5.dll命令。这样模拟器就可以正常工作而没有任何问题。