Android工作室越野车升级到16.10后
我最近从16.04 LTS升级到我的android工作室正常工作到16.10但是在尝试运行我的avd模拟器时,这是我回来的错误日志
Cannot launch AVD in emulator. Output: libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast X Error of failed request: GLXBadContext Major opcode of failed request: 155 (GLX) Minor opcode of failed request: 6 (X_GLXIsDirect) Serial number of failed request: 55 Current serial number in output stream: 54 libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: unable to load driver: i965_dri.so libGL error: driver pointer missing libGL error: failed to load driver: i965 libGL error: unable to load driver: swrast_dri.so libGL error: failed to load driver: swrast X Error of failed request: GLXBadContext Major opcode of failed request: 155 (GLX) Minor opcode of failed r
在最近的android工作室更新中,谷歌使用的libstdc++
与系统上安装的intel驱动程序不兼容
如果没有系统lib64stdc++6
和mesa-utils
则首先必须安装以下软件包
sudo apt-get install lib64stdc++6 mesa-utils
然后将库符号链接到android sdk工具路径
## For the /Sdk/tools path cd ~/Android/Sdk/tools/lib64/libstdc++ # making a copy of the file sudo mv libstdc++.so.6 libstdc++.so.6.og # symlink sudo ln -s /usr/lib64/libstdc++.so.6 ~/Android/Sdk/tools/lib64/libstdc++ ## For the /Sdk/emulator path cd ~/Android/Sdk/emulator/lib64/libstdc++ # making a copy of the file sudo mv libstdc++.so.6 libstdc++.so.6.og # symlink sudo ln -s /usr/lib64/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++
我在Ubuntu 17.04上也有这个问题,这就是我所做的。
使用您喜欢的文本编辑器编辑.profile
atom ~/.profile
将其附加到文件末尾
export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
来源:Android SDK环境变量
从终端运行模拟器
emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME
另一个简单的解决方法是在Android sdk目录中的emulator文件夹中重命名libstdc ++。 它将回退到系统库(需要安装)。 在Ubuntu 17.10上,这对我来说真的很有效。
更新模拟器。
Tools -> SDK Manager -> SDK Tools -> Android Emulator
这是一个在27.2.9中修复的错误。
Android Emulator的Linux版本现在使用现代的Clang C ++工具链构建。 此更改修复了由于libGL和libstdc ++错误导致模拟器无法启动的问题。
仅供参考:BTW手动创建符号链接并不是一个好主意。 设置ANDROID_EMULATOR_USE_SYSTEM_LIBS
是一种更好的方法。 但是,当您只是更新模拟器时,这也没有必要。
我将图形加速从汽车/硬件切换到软件。 导致此问题的驱动程序仅需要使用真实硬件进行图形加速。 除非您在游戏或其他图形密集型软件上工作,否则您不需要这样做。 这必须在每个adv上完成,但一旦完成就保持设置。
这个链接有帮助。 我确实修改了libstdc ++的位置。所以基于我的Ubuntu 17.10安装。 libstdc ++。so文件位置不同。 在您的计算机中搜索libstdc ++
Ubuntu 17.10和Android Studio 3.1
cd /opt/android-sdk/emulator/lib64/libstdc++ mv libstdc++.so.6{,.bak} mv libstdc++.so.6.0.19{,.bak} ln -s /usr/lib/gcc/x86_64-linux-gnu/7/libstdc++.so