问题描述
我最近从 16.04 LTS 升级到 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 studio更新中,google使用了一个与系统安装的intel驱动不兼容的libstdc++
如果系统上没有 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
Source: Android SDK Environment Variable
第三种思路
从终端运行模拟器
emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME
第四种思路
另一个简单的解决方法是重命名 Android sdk 目录中模拟器文件夹中的 libstdc++。它将回退到系统库(需要安装)。我在 Ubuntu 17.10 上的 ‘just worked’。