无法在android studio 2.0中启动Emulator

Sur*_*lwe 67 android

我刚刚将我的android工作室从1.5升级到2.0.现在,当我尝试启动模拟器时,我面临一些奇怪的错误.我使用的是Ubuntu 15.10操作系统

Android监视器返回此消息

sh: 1: glxinfo: not found
sh: 1: glxinfo: not found
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
 QObject::~QObject: Timers cannot be stopped from another thread
Run Code Online (Sandbox Code Playgroud)

当我使用1.5版本时,一切都很顺利.这是android studio 2.0中的一个错误.

如何删除此错误?

Gio*_*tis 196

确认您已在系统lib64stdc ++ 6中安装

使用32位操作系统:

# apt-get install lib64stdc++6
Run Code Online (Sandbox Code Playgroud)

使用64位操作系统启用multiarch:

# apt-get install lib64stdc++6:i386
Run Code Online (Sandbox Code Playgroud)

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

$ cd $ANDROID_HOME/android-sdk-linux_x86/tools/lib64/libstdc++
$ mv libstdc++.so.6 libstdc++.so.6.bak
$ ln -s /usr/lib64/libstdc++.so.6 $ANDROID_HOME/android-sdk-linux_x86/tools/lib64/libstdc++
Run Code Online (Sandbox Code Playgroud)

编辑:在15.10 x64当前的Sdk(23)中,文件夹是$ANDROID_HOME/Sdk

  • UPVOTED!像魅力一样工作.新手注意:`$ ANDROID_HOME`是从你的系统根到包含Android的文件夹的路径.例如:`\ home\tony\Android` (13认同)
  • 对于Android Studio的新用户,我的文件路径略有改变,在这种情况下是`home/USERNAME/Android/Sdk/tools/lib64/libstdc ++ (8认同)
  • 在我的情况下只是一个解决方法路径是/ home/Android/Sdk/emulator/lib/libstdc ++万岁ubuntu (7认同)
  • 在〜/ Android/Sdk/tools/lib64/libstdc ++中使用Ubuntu 16.04 (4认同)
  • 这在Ubuntu 16.04上对我不起作用.做一个'sudo apt install mesa-utils'就是为我解决了这个问题(在mesa-utils上搜索这个页面). (3认同)

Log*_*ain 25

我的另一个解决方案是使用系统库:

emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME


Cod*_*ice 22

我在Arch Linux盒子上遇到了同样的问题.我必须做两件事才能解决所有问题:

  1. 安装mesa-demos.这是Arch Linux软件包,其中包含glxinfo:

    $ sudo pacman -S mesa-demos
    
    Run Code Online (Sandbox Code Playgroud)
  2. 使用-use-system-libs标志运行模拟器:

    $ emulator -avd <AVD name> -use-system-libs
    
    Run Code Online (Sandbox Code Playgroud)

    要在Android Studio中启用此行为,请在其中设置ANDROID_EMULATOR_USE_SYSTEM_LIBSenviornment变量~/.zshrc.

    export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
    
    Run Code Online (Sandbox Code Playgroud)

    你也可以在~/.profile或中设置它~/.bashrc.在所有这些情况下,您必须从命令行启动Android Studio.或者,您可以将其设置~/.pam_environment为能够从桌面启动器启动Android Studio:

    ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
    
    Run Code Online (Sandbox Code Playgroud)


iko*_*lim 16

执行上述两个步骤后,如果未安装mesa-utils,请安装它.

$ sudo apt-get install mesa-utils


Mor*_*far 13

$ cd Android/Sdk/emulator/lib64/libstdc++
$ mv libstdc++.so.6 libstdc++.so.6.bak
$ ln -s /usr/lib64/libstdc++.so.6
Run Code Online (Sandbox Code Playgroud)

它对我有用


Gae*_*ael 9

Ubuntu 16.04 LTS x64上对我来说同样的问题:

  • Android Studio 2.2.3
  • Android SDK工具25.2.4
  • 仿真器版本25.2.4-3534729(来自仿真器>扩展控件>帮助>关于)

我的显卡是AMD/ATI Radeon,我从Android开源项目 - 问题跟踪器上的这个帖子中读到:

问题的根本原因可能是Radeon GL驱动程序库需要更新的libstdc ++.而不是与模拟器捆绑在一起的.

以下是我解决问题的方法:

  1. 安装lib64stdc ++ 6

    $ sudo apt-get install lib64stdc++6:i386   
    
    Run Code Online (Sandbox Code Playgroud)
  2. 安装mesa-demos

    $ sudo apt-get install mesa-utils
    
    Run Code Online (Sandbox Code Playgroud)
  3. 通过将libstdc ++.so.6重命名为libstdc ++.so.6.bak来移动它

    $ cd ~/$ANDROID_HOME/Android/Sdk/tools/lib64/libstdc++
    $ mv libstdc++.so.6 libstdc++.so.6.bak
    
    Run Code Online (Sandbox Code Playgroud)