SDK工具更新到25.3.1后,Android Studio上的仿真器无法启动

在将我今天的Android SDK工具更新到25.3.1之后,模拟器将不再运行。

我可以打开AVDpipe理器。 当我在列表中的一个模拟器上点击“播放”时,我在Android Studio上看到下面的栏

在这里输入图像说明

但是,当进度条到达结尾后,什么也没有发生。

我在发行说明中看到,最新的更新给模拟器带来了变化,所以我想知道这是一个错误还是我错过了一些东西。

我正在使用Android Studio 2.3。

有任何想法吗?

Solutions Collecting From Web of "SDK工具更新到25.3.1后,Android Studio上的仿真器无法启动"

升级后我遇到了同样的问题。 我无法弄清楚是什么导致了configuration问题,但我找出了一个解决方法。

首先,我尝试从命令行启动模拟器:

$ emulator @<name_avd_image> emulator: ERROR: This AVD's configuration is missing a kernel file! Please ensure the file "kernel-ranchu" is in the same location as your system image. emulator: ERROR: ANDROID_SDK_ROOT is defined (<android>/sdk) but cannot find kernel file in <android>/sdk/system-images/ sub directories 

如果使用-verbose标志运行emulator ,可以获取更多信息。 我尝试重新安装系统映像(例如Android API 25 x86 w / Google API),Android Emulator 25.3.1,并重新创buildAVD,但没有任何工作。

最后,作为解决方法,我只是将所有系统文件从SDK系统映像目录复制到AVD目录中:

示例:Pixel XL(Android API 25 x86 w / Google API)
消息来源: <android> / sdk / system-images / android-25 / google_apis / x86 /
目的地:〜/ .android / avd / Pixel_XL_API_25.avd /

之后,模拟器开始了。 这并不理想,但是这阻碍了我的发展,所以我必须让模拟器重新开始运行。 我希望别人能够弄清楚在configuration中发生了什么。


更新:找出configuration问题!

我注意到我定期看到控制台错误“您的模拟器已经过时,请通过启动Android Studio进行更新:”所以我决定检查:

 $ which emulator <$ANDROID_SDK_ROOT>/tools/emulator 

在这个线程的帮助下:

问题是有两个模拟器:一个在$ANDROID_SDK_ROOT/tools ,另一个在$ANDROID_SDK_ROOT/emulator$ANDROID_SDK_ROOT/tools中的一个无法启动。 将$ANDROID_SDK_ROOT/emulator $ANDROID_SDK_ROOT/tools $PATHvariables中的$ANDROID_SDK_ROOT/tools之前,它应该解决这个问题。

注意:对于大多数Mac用户,可以编辑~/.bash_profile来更改这些设置,然后运行$source ~/.bash_profile来加载更新。 在我的具体情况下,我还有$ ANDROID_HOME的旧值,我必须清除。

真正的问题,至less在Ubuntu 16.10和17.04以及Andoid Studio 2.4 Preview 7(但是可能在任何Debian派生版和Android Studio的早期版本中都会发生)上,谷歌正在使用仿真器工具发布一个非工作的libstdc ++库。 他们分发6.0.18版本,但我发现工作的是6.0.22。

编辑:有报告说,6.0.21版本的libstdc ++工作以及6.0.22。

所以,你有两个select:

选项1

rm以前的非工作状态Google的库位于/yoursdkpàth/ emulator / lib64 / libstdc ++

从/yoursdkpàth/ emulator / lib64 / libstdc ++的libstdc ++官方软件包下载并提取库

不要尝试安装.deb,从里面提取文件/二进制文件(2个二进制文件位于名为“lib”的文件夹中),然后手动将它们复制到推荐path中。

选项2

创build一个与Ubuntu分发的lib的simlink,它已经是6.0.22版本

 cd ~/Android/Sdk/emulator/lib64/libstdc++/ mv libstdc++.so.6 libstdc++.so.6.bak mv libstdc++.so.6.0.18 libstdc++.so.6.0.18.bak ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6 ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.22 ~/Android/Sdk/emulator/lib64/libstdc++/libstdc++.so.6.0.22 

重要说明1:由于Google似乎没有意识到这个问题,所以在Android Studio中对Android模拟器包进行的每个更新中,都会破坏replace正在使用的SDK C ++库的function。 解决办法是重复上述任何一个程序。

重要2:这只有在您的AVDconfiguration为使用您的PC GPU作为video加速主机(硬件GLES 2.0)时才有效。 在您的AVD上select软件GLES 2.0将无需任何build议的更改,但您的模拟器将变得非常缓慢。

你有没有检查安装在** SDK工具中的Android模拟器

转到设置 – > sdk工具

看看Android是否安装。

我面临同样的问题。 当我检查SDK工具时,我发现Android模拟器没有安装。

在这里输入图像说明

libstdc++.so.6是原因(如@doruMarinau指出的那样)。 Android Studio 2.3将文件移动到一个新文件夹your_sdk/emulator/lib64

如果使用Linux,请为其创build一个符号链接:

 $ ln -sf /usr/lib/libstdc++.so.6 /your_sdk/emulator/lib64/libstdc++/libstdc++.so.6 

解决方法是:工具 – Android – Sdkpipe理器选项卡Sdk工具安装模拟器25.3.1

这对我工作:

转到AVD Manager,然后在“操作”列中点击指向黎明的箭头,然后select“擦除数据”。 之后,尝试运行模拟器。

在这里输入图像说明

转到Sdk / emulator / lib64 / libstdc ++将libstdc ++。so.6和libstdc ++。so.6.0.18移到我的文件夹(我创build了这个)(或任何其他位置)作为备份并复制libstdc ++。so.6,libstdc ++。so。从usr / lib64 6.0.21;托盘再次启动您的虚拟设备!

这是libGL错误和libstdc ++问题。 无法在模拟器中启动AVD。 这是一个知道的bug,你可以用一些简单的步骤轻松地打败它。

我已经在Ubuntu 16.10 64bit上testing过这个解决scheme

解:

 $adb kill-server $adb start-server 

之后,从Android工作室启动您的模拟器。 如果这不起作用,那么继续下一个解决scheme。

替代scheme:

首先,安装一些软件包和库:

 $sudo apt-get install lib64stdc++6:i386 $sudo apt-get install mesa-utils 

其次,调整一些链接:

 $ cd YOURPATH/Android/Sdk/tools/lib64 $ mv libstdc++/ libstdc++.bak $ ln -s /usr/lib64/libstdc++.so.6 libstdc++ 

第三,重新启动你的AVD设备并testing它。

在过去的几天里,这让我疯狂。 以下是对我有用的东西:

“系统环境variables”中的ANDROID_HOME, ANDROID_SDK_ROOTvariables与Android Studio -> Settings -> Android SDK Location 。 所以当我改变环境variables的时候,AVD就开始了!

(更改环境variables后,您应该重新启动Android Studio)

我唯一的解决办法是安装以下缺失的库:

 $sudo apt-get install lib64stdc++6:i386 $sudo apt-get install mesa-utils 

一旦你有他们,在sdk的模拟器中更新那个如下:

 $ ln -sf /usr/lib/libstdc++.so.6 /home/[YOUR_SYSTEM_USERNAME]/emulator/lib64/libstdc++/libstdc++.so.6 

再次启动你的模拟器,它会工作得很好。

从本版本开始,Android Emulator将与SDK Tools分开发布。 所以只需在android工作室中使用sdk工具安装android emulator

我的问题是ANDROID_SDK_HOME指向d:\.android而不是d:\ 。 找不到图像了。