在Ubuntu 16.04上重新安装AVD


8

安装Android Studio时未安装模拟器。这是我打电话时的错误tools/android/avdmanager

sh: 1: glxinfo: not found
sh: 1: glxinfo: not found
libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
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

一段时间后,我在窗口弹出窗口中看到一个新错误

Cannot launch AVD in emulator.
Output:
libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
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:  49
  Current serial number in output stream:  48
libGL error: unable to load driver: nouveau_dri.so
libGL error: driver pointer missing
libGL error: failed to load driver: nouveau
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:  49
  Current serial number in output stream:  48

2
相关的驱动程序问题:askubuntu.com/questions/635851/...
安德鲁T.

Answers:


14

我正在使用Android Studio 2.1.1和Ubuntu 16.04(x64)。以下内容为我解决了问题(sh: 1: glxinfo: not foundlibGL error:.)。

  1. $ sudo apt-get install lib64stdc++6 (如果未安装)
  2. $ cd ~/Android/Sdk/tools/lib64/libstdc++
  3. $ mv libstdc++.so.6 libstdc++.so.6.original
  4. $ ln -s /usr/lib64/libstdc++.so.6 ~/Android/Sdk/tools/lib64/libstdc++
  5. $ sudo apt-get install mesa-utils (如果未安装)

对我来说,我必须使用以下命令修改步骤4:“ ln -s /usr/lib/x86_64-linux-gnu/libstdc++.so.6〜/ Android / Sdk / tools / lib64 / libstdc ++”,然后启动AVD。但它仍然挂起。试图找到解决方案。
Alexandre Schmidt

最后,对我有用的是安装nvidia驱动程序。请参阅完整的解决方案,网址
Alexandre Schmidt

这对我在具有Android Studio 2.2.3的Ubuntu 16.04.1上有效,谢谢@kolim
Munish Chandel

3

在系统中安装lib64stdc ++ 6

# sudo apt-get install lib64stdc++6

然后将新安装的库链接到android sdk工具路径

$ cd $ANDROID_HOME/Sdk/tools/lib64/libstdc++
$ mv libstdc++.so.6 libstdc++.so.6.bak
$ ln -s /usr/lib64/libstdc++.so.6 $ANDROID_HOME/Sdk/tools/lib64/libstdc++
$ $ANDROID_HOME/Sdk/tools/emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME

它帮助了我。


0

我添加了相同的错误,但通过选择软件加速(而非GPU HW)解决了该错误。

问候


0

在计算机上启动AVD时,我也遇到很多问题。努力使用系统库,创建到本地库的符号链接等。

对我来说真正起作用的是用以下命令安装nvidia驱动程序:

sudo apt install nvidia-340

我的发行版:

$ uname -a
Linux ruapehu 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux

$ cat /etc/issue
Ubuntu 16.04.1 LTS \n \l

确保检查适合您的nvidia软件包,因为Ubuntu提供了不同的口味。例如:

$ sudo apt list "*nvidia-[0-9][0-9][0-9]" 
Listing... Done
nvidia-304/xenial 304.131-0ubuntu3 amd64
nvidia-331/xenial 340.96-0ubuntu3 amd64
nvidia-340/xenial,now 340.96-0ubuntu3 amd64 [installed]
nvidia-346/xenial 352.63-0ubuntu3 amd64
nvidia-352/xenial 361.42-0ubuntu2 amd64
nvidia-361/xenial,now 361.42-0ubuntu2 amd64

我以自下而上的策略测试了该列表,从361开始,直到找到一个有效的列表(以我的情况为340)。

希望能有所帮助。


0

我希望这能解决您的问题。
我安装了最新安装的最新Android Studio,并执行了所有基本步骤以在模拟器中运行“ Hello World”项目,
但是从avd管理器运行模拟器时遇到了相同的问题。
之后,我也尝试从命令行运行模拟器,但遇到了同样的问题。
经过长时间的调试,我发现它缺少一些核心库,
然后通过选择复选框并从Android Studio Options安装模拟器来解决了该问题。

工具-> Android-> SDK管理器-> SDK工具-> Android仿真器

然后再次单击“应用并运行项目”。
现在它的工作就像一种魅力。样本截图


0

我正在运行ubuntu 16.04 LTS。在“软件和更新”中搜索其他驱动程序,然后更改为NVIDIA二进制驱动程序-340.102版解决了AVD的问题


0

我也有同样的问题,我通过遵循以下在终端中写的代码来解决。

sudo apt-get install lib64stdc++6
mv libstdc++.so.6 libstdc++.so.6.original
ln -s /usr/lib64/libstdc++.so.6 ~/Android/Sdk/emulator/lib64/libstdc++

就这样...

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.