Debian/Ubuntu/Deepin下AndroidStudio2/3打开AVD模拟器无反应

时间:2023-03-09 18:41:09
Debian/Ubuntu/Deepin下AndroidStudio2/3打开AVD模拟器无反应

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++  

开启模拟器,应该是正常的了