无法在Android Studio 2.0中启动模拟器
我刚把我的android studio从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
当我使用1.5版本时,一切都很顺利。 这是在Android Studio 2.0中的错误。
如何删除这个错误?
确认你已经安装在你的系统lib64stdc ++ 6中
使用32位操作系统:
# apt-get install lib64stdc++6
使用64位操作系统启用多国语言:
# apt-get install lib64stdc++6:i386
然后将新安装的库链接到android sdk工具path
$ 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++
编辑:在15.10 x64
与当前Sdk(23),该文件夹是$ANDROID_HOME/Sdk
对我来说另一个解决scheme是使用系统库:
emulator -use-system-libs -avd YOUR_VIRTUAL_DEVICE_NAME
我在Arch Linux上有同样的问题。 我不得不做两件事来解决所有的问题:
-
安装
mesa-demos
。 这是包含glxinfo
的Arch Linux软件包:$ sudo pacman -S mesa-demos
-
-use-system-libs
标志运行模拟器:$ emulator -avd <AVD name> -use-system-libs
为了在Android Studio中启用这个行为,我在
~/.zshrc
设置了ANDROID_EMULATOR_USE_SYSTEM_LIBS
环境variables。export ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
你也可以在
~/.profile
或~/.bashrc
。 在所有这些情况下,您将不得不从命令行启动Android Studio。 或者,您可以在~/.pam_environment
其设置为可以从桌面启动器启动Android Studio:ANDROID_EMULATOR_USE_SYSTEM_LIBS=1
完成上述两个步骤后,如果未安装,请安装mesa-utils。
$ sudo apt-get install mesa-utils
在Ubuntu 16.04 LTS x64上 ,对我来说同样的问题是:
- Android Studio 2.2.3
- Android SDK工具25.2.4
- 模拟器版本25.2.4-3534729(从模拟器>扩展控件>帮助>关于)
我的graphics卡是AMD / ATI Radeon,我从Android开放源代码项目 – 问题跟踪器的主题中读到:
问题的根本原因可能是Radeon GL驱动程序库需要比仿真器捆绑的更新的libstdc ++。
以下是我解决问题的方法:
-
安装lib64stdc ++ 6
$ sudo apt-get install lib64stdc++6:i386
-
安装mesa-demos
$ sudo apt-get install mesa-utils
-
将libstdc ++。so.6重命名为libstdc ++。so.6.bak
$ cd ~/$ANDROID_HOME/Android/Sdk/tools/lib64/libstdc++ $ mv libstdc++.so.6 libstdc++.so.6.bak
$ cd Android/Sdk/emulator/lib64/libstdc++ $ mv libstdc++.so.6 libstdc++.so.6.bak $ ln -s /usr/lib64/libstdc++.so.6
这是为我工作
更新后build立工具25.3.1 libstdc++.so.6
文件已被移动到$ANDROID_HOME/Sdk/emulator/lib64/libstdc++/libstdc++.so.6
在非常的情况下,您的KVM资源可能会因另一个正在运行的VirtualBox虚拟机而忙碌。
(我遇到过这个问题)。
为了解决这个问题,我使用了Genymotion而不是Android模拟器。
然后我可以与其他VirtualBox虚拟机一起运行Genymotion。
修复Ubuntu 16 LTS
1.安装lib64stdc ++ 6
sudo apt-get install lib64stdc++6:i386
2.安装mesa-demos
sudo apt-get install mesa-utils
sudo apt-get install mesa-utils
参考: https : //github.com/beidl/prime-indicator/issues/6
所有上述答案不适合我,因为“Android模拟器”没有安装Android Studio的标准安装。 确保你已经安装了它,然后尝试以上的答案。
- 错误:任务执行失败':app:transformClassesWithDexForDebug'
- 系统重新启动后,在广播接收器中显示警告对话框
- Android Studio可绘制文件夹
- 在Android中使用BroadcastReceiver注册耳机button
- Android Studio编译错误:枚举常量INSTANT_RUN_REPLACEMENT在类中不存在
- 在Android中获取当前星期几的最简单方法是什么?
- Android:如何获取代码中的属性值?
- 未findcom.google.android.gms.common.internal.safe parcel.safe parcelable
- 如何为谷歌地图api v2设置默认位置和缩放级别?