作者:噬血--男爵_380_203 | 来源:互联网 | 2023-02-09 17:18
在今天将我的Android SDK工具更新到25.3.1之后,模拟器将不再运行.
我可以打开AVD Manager.当我在列表中的某个模拟器上点击"播放"时,我会在Android Studio上看到下面的栏
但是在进度条结束后,没有任何反应.
我在发行说明中看到最新的更新给模拟器带来了变化,所以我想知道这是一个错误还是我错过了一些关于它的东西.
我正在使用Android Studio 2.3.
有任何想法吗?
1> Funktional..:
升级后我遇到了同样的问题.我无法弄清楚导致配置问题的原因,但我确实找到了解决方法.
首先,我尝试从命令行启动模拟器:
$ emulator @
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 (/sdk) but cannot find kernel file in /sdk/system-images/ sub directories
如果emulator
使用-verbose
标志运行,可以获得更多信息.我尝试重新安装系统映像(例如Android API 25 x86 w/Google API),Android Emulator 25.3.1,并重新创建AVD但没有任何效果.
最后,作为一种解决方法,我只是将SDK系统映像目录中的所有系统文件复制到AVD目录中:
示例:Pixel XL(Android API 25 x86 w/Google API)
消息来源:
/ sdk/system-images/android-25/google_apis/x86/
DESTINATION:〜/ .android/avd/Pixel_XL_API_25.avd /
之后,模拟器启动了.这不是理想的,但这阻碍了我的开发,所以我不得不让模拟器重新启动并运行.我希望其他人能够弄清楚配置中出现了什么.
更新:找出配置问题!
我注意到我经常看到控制台错误"你的模拟器已经过时,请通过启动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
在你的$PATH
变量,它应该解决这个问题.
注意:对于大多数Mac用户,您可以编辑~/.bash_profile
更改这些设置,然后运行$source ~/.bash_profile
以加载更新.在我的特定情况下,我还有$ ANDROID_HOME的旧值,我必须清除.
2> Martin Rever..:
真正的问题,至少在Ubuntu 16.10和17.04以及Andoid Studio 2.4 Preview 7(但可能发生在任何Debian衍生产品和以前版本的Android Studio上),是Google正在使用模拟器工具分发一个不工作的libstdc ++库.他们分发6.0.18版本,但我发现工作版本是6.0.22.
编辑:有报告称,6.1.21版本的libstdc ++和6.0.22一样.
所以,你有两个选择:
选项1
rm
/yoursdkpàth/ emulator/lib64/libstdc ++中之前的非工作Google库
从/yoursdkpàth/ emulator/lib64/libstdc ++中的libstdc ++官方软件包下载并解压缩libs
不要尝试安装.deb,从中提取文件/二进制文件(2个二进制文件位于名为"lib"的文件夹中),并在推荐的路径上手动复制它们.
选项2
创建一个与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:由于谷歌似乎并未意识到这个问题,因此在他们对Android Studio中的Android模拟器软件包进行的每次更新中,他们都会破坏使用已损坏/旧版本的工作版SDK C++库的功能.解决方案是重复上述任何程序.
重要事项2:仅当您的AVD配置为使用PC GPU作为视频加速主机(硬件GLES 2.0)时,此功能才有效.在您的AVD上选择Sofware GLES 2.0将无需任何建议的更改,但您的模拟器将变得非常缓慢.
3> 小智..:
您是否检查了**SDK工具中安装的Android模拟器?
转到Setting-> sdk-tools.
查看是否安装了Android.
我面临同样的问题.当我检查SDK工具时,我发现没有安装Android模拟器.
4> icarus..:
这libstdc++.so.6
是原因(正如@doruMarinau所指出的那样); Android Studio 2.3将文件移动到新文件夹your_sdk/emulator/lib64
.
如果使用Linux,请为其创建符号链接:
$ ln -sf /usr/lib/libstdc++.so.6 /your_sdk/emulator/lib64/libstdc++/libstdc++.so.6