我尝试从这个链接安装kvm:https://help.ubuntu.com/community/KVM/Installation。但是,即使我尝试了这个方法,在软件GLES 2.0模式下运行仿真器仍然很慢,并且当我选择硬件GLES 2.0作为图形时,我无法启动avd。它会显示启动avd几秒钟,然后之后就没有任何反应了。我是否遗漏了什么重要的步骤?
所以,问题在于Android SDK找不到OpenGL配置和库。Google会随SDK一起分发OpenGL库,但在Ubuntu上,由于找不到C++库,因此该配置文件已损坏,所以我找到的最佳解决方案是将符号链接指向您已经拥有的系统库。我让您执行的先前测试可以从命令行强制执行该情况,但通过下面的步骤,您可以获得更加永久和舒适的解决方案,使您能够直接从AVD UI启动任何硬件加速的模拟器。
首先,您的系统库在Ubuntu路径中:
/usr/lib/x86_64-linux-gnu/
如果在/usr/lib/x86_64-linux-gnu/
目录下没有libstdc++.so.6
文件,请使用以下命令进行安装:sudo apt install libstdc++6
在您的情况下,很明显您已经安装了正确的库,否则模拟器将无法从命令行启动,但我留下上一步是为那些系统中没有正确库的人准备的。
所以,现在我们需要告诉Android SDK我们需要使用系统库。只需执行以下操作:
如果在~/yoursdkpath/emulator/lib64/libstdc++/
路径下有一个libstdc++6
文件,请执行mv libstdc++6 libstdc++6.bak
进行备份。
然后:
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ~/yoursdkpath/emulator/lib64/libstdc++/libstdc++.so.6
就是这样,去AVD启动任何选择了Hardware GLES 2.0配置的模拟器,它就可以运行了。
重要提示:谷歌会不时更新您的模拟器。如果您注意到在谷歌更新后模拟器无法从AVD启动,请重复此步骤,一切都将恢复正常。