Debian系AS无法启动模拟器
问题描述
早在半年前将开发环境从windows迁移到了Linux;当时用的是Debian系统,也是在安装完成AndroidStudio之后无法开启模拟器,也没出现什么错误信息,当时试了好久也没解决就放弃了,直到最近Debian不小心误操作导致系统彻底崩溃就换成了Deepin系统,同样也遇到了这个问题,找个各种办法各种尝试终于解决,于是在这里做一个错误解决办法的小结,供以后再遇到时作参考。
错误日志
打开虚拟机,没有任何反应,但是会在ide的最底部提示一行
Emulator:Process finished with exit code 1
打开AS右下角的event log,可以看到错误日志,可能不一样但是大同小异
libGL error: unable to load driver: r600_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: r600
libGL error: unable to load driver: swrast_dri.so
libGL error: failed to load driver: swrast
X Error of failed request: BadValue (integer parameter out of range for operation)
Major opcode of failed request: 155 (GLX)
Minor opcode of failed request: 24 (X_GLXCreateNewContext)
Value in failed request: 0x0
Serial number of failed request: 33
Current serial number in output stream: 34
这里抛出了libGL异常,解决办法如下
解决办法
检查是否安装了lib64stdc++6
//32位系统
$ sudo apt search lib64stdc++6
//64位系统
$ sudo apt search lib64stdc++6:i386
如果没有安装就执行安装命令
//32位系统
$ sudo apt install lib64stdc++6
//64位系统
$ sudo apt install lib64stdc++6:i386
创建libstdc++的软链接至Android SDK中/emulator/目录下lib64目录下
//进入libstdc++对应的目录
$ cd ~/Android/Sdk/emulator/lib64/libstdc++
//备份原有的libstdc++.so.6文件
$ mv libstdc++.so.6 libstdc++.so.6.bak
//创建对应的软链接
$ ln -s /usr/lib64/libstdc++.so.6 /home/aaron/Android/Sdk/emulator/lib64/libstdc++