无法在Android Studio中运行模拟器

我刚刚完成安装Android工作室,并试图把它作为testing运行。 当我尝试运行我的应用程序时,出现以下错误消息

emulator: ERROR: This AVD's configuration is missing a kernel file!! emulator: ERROR: ANDROID_SDK_ROOT is undefined 

有谁知道如何解决这个问题?

有可能你真的没有系统映像。 仔细检查$ANDROID_HOME/system-images/android-<YOUR DESIRED API>/armeabi-v7a存在并且不是空的。 如果他们确实缺less – 使用SDKpipe理器安装/重新安装。

转到工具| Android | AVD经理

点击最右边“操作”栏下的箭头(错误消息是)

select编辑

保留默认select(对于我,MNC x86 Android M)

点击下一步

点击完成

它可以节省您的AVD,现在错误从最后一列中消失了。 模拟器现在工作正常。

我通过运行“C:\ Program Files \ Android \ android-sdk \ AVD Manager.exe”并修复了我的损坏的设备。

刚解决这个。 希望这可以帮助别人。 (问题在Android工作室V2)这个问题是为ARM模拟器。 在这个例子中,我使用armeabi-v7a API 16

修复是三个步骤:

第1步:打开sdkpipe理器,确保已经安装了ARM EABI v7a系统映像

步骤2.这是将sdk的位置添加到系统variables的明显情况。

然后右键单击桌面上的“This PC”图标

Properties -> Advanced system settings -> Environment Variables...然后使用variables名ANDROID_SDK_ROOT将sdk的path添加为系统variables部分的新部分。

第3步。重新启动Android Studio以进行注册更改。 在更正ANDROID_SDK_ROOT是未定义的问题后,仿真器仍然无法find内核文件,即使它可以看到sdkpipe理器安装它

path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu

原因是sdkpipe理器安装内核文件的位置与模拟器正在查找的位置之间的混淆。

如果你打开你的模拟器的config.ini文件(Android Studio – > AVD Mananger – >“在磁盘上显示”),你会看到如下的代码:

image.sysdir.1=add-ons\addon-google_apis-google-16\images\armeabi-v7a\

(即\path到sdk \附加件\ addon -….)

而不是改变我复制的config.ini文件中的这个值

path-to-sdk\sdk\system-images\android-16\default\armeabi-v7a\kernel-qemu

(安装文件夹sdk manager的内核文件)

\path-to-sdk\add-ons\addon-google_apis-google-16\images\armeabi-v7a\

那是缺less的内核文件。 你可以运行模拟器。 (您将需要closuresAndroid Studio并重新打开)给模拟器一些时间,因为它比x86慢10倍。 (我的大约5分钟开始)

简短的回答 :尝试使用旧的<AndroidSDK>\AVD Manager.exe创build相同的图像。

在Android Studio中工作,运行所有的集成工具,我很自然地不使用旧的pipe理器(AVD / SDK)。

就我而言,使用新的(集成的)AVDpipe理器创build具有旧系统映像的设备(API 11及更低版本,正如我testing过的)时,我遇到了这个问题。

当我尝试使用旧的AVD Manager工具(位于<AndroidSDK>\AVD Manager.exe )创build这些旧的设备映像时,我已经成功了。

嘿那里刚刚遇到了同样的问题,谷歌的第三个链接把我带到这个引发错误的代码位,

 if (kernelFile == NULL) { kernelFile = avdInfo_getKernelPath(avd); if (kernelFile == NULL) { derror( "This AVD's configuration is missing a kernel file!!" ); const char* sdkRootDir = getenv("ANDROID_SDK_ROOT"); if (sdkRootDir) { derror( "ANDROID_SDK_ROOT is defined (%s) but cannot find kernel file in " "%s" PATH_SEP "system-images" PATH_SEP " sub directories", sdkRootDir, sdkRootDir); } else { derror( "ANDROID_SDK_ROOT is undefined"); } exit(2); 

该人写道:

“/ *如果内核映像名称以”-armv7“结尾,则自动更改cpu *types,这是一个穷人的configurationpipe理方法,但是应该允许我们通过dex preopt pass构buildARMv7 *系统映像“

于是我又回到原来的x86级别,并下载了我所期望的API级别的x86 intel atom版本,并且能够在没有错误的情况下获得模拟器。 希望它也能帮助你

通常情况下,由于您正在开发的应用程序types不合适的AVD仿真器,会发生错误。 例如,如果您正在为可穿戴设备开发应用程序,但是您正尝试使用手机模拟器来运行它。

在我的情况下(Windows 10)的原因是,我敢将android sdk解压缩到非默认文件夹。 当我把它移动到默认的一个c:/用户/ [用户名] / AppData / Local / Android / Sdk,并改变了Android Studio和系统variables的path,它开始工作。

我有同样的错误。 我的解决scheme是改变ANDROID_HOMEpath。 首先,我从Android Studio中查看了tools-> android-> sdk manager 。 在该窗口中,我们可以看到Android Studio查找SDK的path: image

然后我打开一个Windows CMD shell,执行:

 echo %ANDROID_HOME% 

但path与第一步的ANDROID STUDIO CONFIGURATION中的path不同。

解决方法是在用户环境ANDROID_HOME中更改为第一步: image

我最后closures了cmd shell,并打开了另外一个cmd shell来执行:

 echo %ANDROID_HOME% 

path被更新了,我可以完美地运行我的模拟器。

  • 打开Android工作室。
  • 进入设置>系统设置> Android SDK
  • 获取“Android SDK位置”。
  • 将环境variablesANDROID_SDK_ROOT设置为此值。

它为我工作,我在Windows 10和Android工作室2.3.3

一个常见的方法来解决这个问题。

1.通过运行你的android studio来检查你的SDKpipe理器,通过执行./android.sh帮助你find损坏的软件包

  1. 尝试安装系统模拟器图像与谷歌API支持比英特尔。 就像我通过运行到另一个系统映像解决了我的问题。

  2. Google for Linux提供的基于KVM的虚拟化实验