仿真器错误:此AVD的configuration缺less内核文件
当我试图在Eclipse中运行Android模拟器时,发现了这个问题。 无法弄清楚发生了什么事。 我在网上search的解决scheme,但似乎是模糊的,我不明白。 我按照步骤来安装AVD根据网站,我不知道我错过了什么。 请按照步骤向我解释。
“ARM EABI v7a系统映像”必须可用。 通过Android SDKpipe理器安装它:
另一个提示(见这里 ) – 与
- Android SDK工具版本17或更高版本
- Android 4.0.3(API等级15)
- 使用SDK rev 3和System Image rev 2(或更高版本)
您可以打开GPU模拟来获得更快的模拟器:
注意:如果你以前创build了模拟器,那么你需要重新创build它,否则这将不起作用。
替代scheme1
英特尔提供了“ 英特尔硬件加速执行pipe理器 ”,这是一个基于虚拟机的模拟器,用于执行X86图像,并由Android SDKpipe理器提供服务。 请参阅英特尔仿真器教程: HAXM加速Android模拟器 。 Roman Nurik 在这里发表的文章说,与Android 4.3的英特尔模拟器是“快速”。
替代2
在上面的post的评论中,你可以find一个Genymotion的参考,它声称是“应用程序testing和演示最快的Android模拟器”。 Genymotion在VirtualBox上运行。 另请参阅Google+上的网站,Cyril Mottier的这篇文章以及reddit上的本指南。
替代3
在XDA-论坛中,我读到了有关MEmu的最强大的Android模拟器,比Bluestacks更好 。 你可以在这里find模拟器。 这带给我…
替代scheme4
…这个XDA论坛条目: 如何使用快速! BlueStack作为你的替代Android开发模拟器 。 你可以在这里find模拟器。
你可以得到这个错误的另一个原因是Eclipse找不到正确的文件。
看看Eclipse在哪里寻找你的SDK文件。 你可以在命令行上做到这一点。 下面是我创build并命名为“SonyTabletS”的avd的windows命令提示符示例:
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安装说明并添加一个带有错误path的ANDROID_SDK_ROOT
环境variables。
我有同样的问题。 在我的情况下,原来我安装了另一个版本的SDK与Android Studio提供的版本一起。 将我的ANDROID_SDK_ROOT环境variables更改为原始值,为我解决了这个问题。
以pipe理员模式打开AVD Managerselect虚拟机并单击编辑,然后单击确定启动虚拟机。
编者按 :按pipe理员模式,他的意思是右键单击>在Windows平台上以pipe理员身份运行。
这是我的故事。 在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
我发现没有内核文件。 但是,我在下面find了一个内核文件:
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然后工作。
确保您也已正确configuration了仿真设备。 Android Studio可能会附带一个显示在模拟设备列表中的设备,但未设置为使用您正在使用的SDK版本。
尝试在AVDpipe理器(工具 – > Android> AVDpipe理器)中创build一个新的模拟设备,并select它作为目标。
如果你知道你的机器上安装了内核文件,那么问题是emulator.exefind它。
我的修复是基于user2789389的post。 我可以从AVDpipe理器启动AVD,但不能从命令行启动。 所以,使用AVD Manager,我select了我想运行的avd并点击“Details”。 这显示了我的AVD定义文件的path。 在这个.avd文件旁边的同名文件夹中,我find了一个config.ini文件。 在ini中,我find了以下行:
image.sysdir.1=system-images\android-19\default\armeabi-v7a\
我查看文件夹C:\ Users \ XXXX \ android-sdks \ system-images \ android-19,发现image.sysdir.1path无效。 我不得不删除“默认”子文件夹,从而将其更改为以下内容:
image.sysdir.1=system-images\android-19\armeabi-v7a\
我保存了ini,然后再次尝试启动AVD。 解决了这个问题!
我安装了Android SDKpipe理器和Android SDK yestoday,当我试图立即运行Android模拟器时,我也得到了这个错误。 但是,现在这个错误消失了,我想在安装SDK的时候重新启动系统可能会解决这个问题。
SDK / NDK和JDK经过了漫长的一天的修复/重build/升级之后,出现了一个奇怪的智能思想。 环境variables需要检查,因为我的AVD“GalaxyS3”缺less内核文件的修复是将系统映像参考扩展为绝对值。
image.sysdir.1 = C:\的Android \ SDK \系统图像\机器人-19 \ armeabi-V7A \
将“C:…. sdk \”添加到“工作区”.android \ avd \ GalaxyS3.avd \ config.ini文件中的“image.sysdir.1 =”条目解决了此问题。
我更新我的android SDK到最新版本(API 19)。 当我尝试使用phonegap 3运行模拟器时,构build成功,但运行相同的问题。
在AVDpipe理器中有一个现有的设备,但是其参数都是未知的。 当然,这是因为我卸载了旧的SDK版本(API 17),在尝试删除设备时返回第二个错误。 随着消息:“设备已经运行”
为了解决这个问题,我去了〜/ .android / avd /中的AVD位置,手动删除了device.avd和device.ini文件。 最后,在设备pipe理器中,我创build了一个由最新的API提供的新的AVD。
这允许phonegap成功地build立和运行模拟器
我希望这有帮助
美好的一天
在Ubuntu 14.04中使用Android Studio 1.2.2的ChrLipp接受的答案之后:
- 从Android SDKpipe理器安装“ARM EABI v7a系统映像”包。
- 删除不起作用的虚拟设备。
- 使用应用程序二进制接口(ABI)作为armeabi-v7a添加一个新设备。
- 启动到新设备。
这对我有效。 尝试重新启动系统,如果它不适合你。
我的故事中,Eclipse需要在系统映像文件夹( /path/to/android-sdk-macosx/system-images/android-25/google_apis/arm64-v8a
)中创build一个名为“ kernel-ranchu
”的文件。
模拟器:错误:这个AVD的configuration缺less一个内核文件! 请确保文件“kernel-ranchu”与系统映像位于同一位置。
模拟器:错误:ANDROID_SDK_ROOT未定义
在该系统映像文件夹中有一个名为“ kernel-qemu
”的文件。 我只是把它改名为“ kernel-ranchu
”,它工作…
我尝试了ChrLipp的build议,但这不是问题,因为图像已经安装。 我做的是运行:
android avd
手动启动模拟器。 然后我停下了模拟器,并在那里形成了这一点
cca emulate android
应用程序开始工作,没有“缺less一个内核文件”的错误。
我解决了这个问题只是添加环境variablesANDROID_SDK_ROOT,在我的情况下,这是位于C:\用户\ fera \应用程序数据\本地\安卓\ sdk
只是想分享我在这个问题上的经验。 在这里咨询每一个答案,这不符合我的情况。 有一个Android API的系统映像22导致这个错误,奇怪的是所有的环境variables指向正确的目录。 这没有意义。
@BuvinJ回答已经解决了这个问题。 我没有检查他的回答中描述的path,当我查看用户目录(在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
只是改变了目录,现在它的作品。