所以,问题是 Android SDK 找不到 OpenGL 配置和库。 Google 使用 SDK 分发 OpenGL 库,但在 Ubuntu 中该配置已损坏,因为无法找到 C++ 库,因此我发现的最佳解决方案是将一个符号链接指向 Ubuntu 上已有的系统库。我之前让您从命令行强制执行这种情况的测试,但通过接下来的步骤,您可以拥有更持久、更舒适的解决方案,允许您直接从 AVD UI 启动任何硬件加速模拟器。
首先,您的系统库位于此 Ubuntu 路径上:
/usr/lib/x86_64-linux-gnu/
如果没有的话libstdc++.so.6
文件存在于里面/usr/lib/x86_64-linux-gnu/
,请安装它:
sudo apt install libstdc++6
在您的情况下,很明显您已经安装了正确的库,否则模拟器将不会从命令行启动,但我将上一步留给那些没有在系统上安装正确的库的人。
所以,现在我们需要告诉 Android SDK 我们需要使用系统库。为此,只需执行以下操作:
如果有一个libstdc++6
里面的文件~/yoursdkpath/emulator/lib64/libstdc++/
do mv libstdc++6 libstdc++6.bak
来备份它。
Then:
ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 ~/yoursdkpath/emulator/lib64/libstdc++/libstdc++.so.6
就是这样,转到 AVD 并启动任何选择了硬件 GLES 2.0 配置的模拟器,它就会工作。
重要提示:Google 会不时更新您的模拟器。如果由于某种原因您注意到 Google 更新后模拟器停止从 AVD 启动,请重复此步骤,一切都会恢复正常。