2013-03-23 116 views
28

这些错误消息对Android模拟器意味着什么?模拟器:警告:无法使用软件渲染器初始化OpenglES仿真

Starting emulator for AVD 'AVD' 
Failed to create Context 0x3005 
could not get wglGetExtensionsStringARB 
emulator: WARNING: Could not initialize OpenglES emulation, using software renderer. 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
could not get wglGetExtensionsStringARB 
+1

你有什么解决方案吗? – 2013-06-27 21:57:22

+1

正确的图形驱动程序安装消除了这个错误 – zest 2013-10-16 09:51:44

回答

0

这意味着链接程序在您的系统上找不到OpenglES库。你可以尝试安装这些。

在Fedora,这似乎是解决问题:

> yum install mesa-libGLw.i686 

一些相关的信息在这里:http://www.redips.net/android/emulator-fedora-linux/

编辑:对于Windows相关的事情,this answer似乎你想要做什么。

+0

其实,我是新的android.After更新安装API 2.1,2.2之后,我打开AVD管理器创建模拟器,然后加载过程中打开模拟器我看到这​​个错误。我正在窗口7 64位 – user2118445 2013-03-23 18:21:37

+0

中工作,并且仿真器高度未安装在屏幕上,仿真器键盘未出现。在安装api 2.1,2.2之前,它工作正常。 – user2118445 2013-03-23 18:27:41

+0

我没有安装** mips系统映像**是这是此错误的原因... – user2118445 2013-03-23 18:58:28

3

确保您安装了适用于您的图形卡的正确驱动程序。我有完全相同的错误。

0

你必须玩你的Android设备规格,如RAM,堆其他规格。

很难告诉你哪些是必须设置的。在我的情况下,我将RAM设置为512和堆128,使其工作。

0

我也有同样的问题,即使我有512 MBRAM。我通过“删除”旧的模拟器并重新创建新的模拟器来解决。我仍然不知道这个问题的原因。谷歌Developers这个问题还没有结束。希望我的解决方案可以帮助他人

15

当启动命令行模拟器 - $ emulator64-arm -avd GalaxyS2 - 我有一个类似的(也许/希望)相关消息:

emulator: ERROR: Could not load OpenGLES emulation library: lib64OpenglRender.so: cannot open shared object file: No such file or directory

,我发现这个文件lib64OpenglRender.so通过locate。它位于android-sdk-linux -dir的tools/lib子目录中。

因此,我创建/etc/ld.so.conf.d/android_stuff.conf(你当然可以添加下面一行到另一个*在该目录中的.conf文件),并把一个行:

path_to_android-sdk-linux_directory/tools/lib

然后调用配置工具:ldconfig(只是没有任何参数)和(至少在我的情况下)错误信息消失了。

+0

对我来说,这工作http://progrnotes.blogspot.com/2015/05/warning-could-not-initialize-opengles-emulation.html – Sergey 2015-05-13 21:34:48

2


我认为Gerd的解决方案是最有帮助的。

如果有人碰到这个失蹄,更详细和完整的解决方案...

香草studio.sh起动shell脚本设置一个ENV变量:

LD_LIBRARY_PATH="$IDE_BIN_HOME:$LD_LIBRARY_PATH" 

它,然后出口。 IDE_BIN_HOME通过使用studio.sh文件的位置(在中间的某处 - 通常是[android-studio]/bin)进行设置。 当一个模拟器通过Studio-> Manger-> Tools-> Manage AVDs启动时,这个env-var前缀为android-SDK/tools/bin。 单独启动时的含义,您没有设置env-var。 Gerd的解决方案将lib添加到系统lib-search-path。 另一种方法是创建一个包装器来处理这个问题,这样只有在需要时才会设置它,并且可能还会设置其他的东西。

#!/bin/bash 
export JAVA_HOME="/usr/lib/jvm/java-BLAH" 
export STUDIO_JDK="$JAVA_HOME"  #This is also used in studio.sh 
export IDE_BIN_HOME="/home/you/android-studio/bin" 
export Anroid_SDK="/home/you/android-sdk" 
export LD_LIBRARY_PATH="$Anroid_SDK/tools/lib:$IDE_BIN_HOME:$LD_LIBRARY_PATH" 

cd "$Anroid_SDK/tools" 

./emulator64-x86 -avd AVD-NAME-1 -gpu on & 
./emulator64-arm -avd AVD-NAME-2 

这可能是一个有点过头,但它是完整的;) 根据发行/设置JAVA_HOME可以预先设定,所以你可以丢弃线。如果你经常使用模拟器,你还可以添加如

export LD_LIBRARY_PATH="[YOUR Studio PATH]/tools/lib:$LD_LIBRARY_PATH" 

到您的.bashrc或.profile文件。

但是要回答真正的问题:这意味着模拟器无法运行(硬件加速?)OpenGLES,并且它使用软件例程来实现/模拟OpenGLES:D 要使模拟器能够找到所需的库,确保安装了正确的(3D-Accel。?)图形卡驱动程序,然后选择上述之一(wrapper shell或(bash-)session-init设置)。

请注意,Android工作室的新版本已付出了SDK

0

一个提示...检查你是不是虚拟机上......我的意思是你应该是真正的机器上。

9

出口LD_LIBRARY_PATH = “/家庭/ <用户PC> /安卓/ SDK /工具/ lib64目录:$ LD_LIBRARY_PATH”

CD /家庭/纳兹穆尔/安卓/ SDK /工具

./emulator64 -x86 -avd < avd-name> -gpu

这个指令在我的笔记本电脑上工作。

+0

啊谢谢你 - 为什么这不是在文档中 - 或者我想念它?? – BricoleurDev 2015-10-26 21:23:13

+0

哟可以从我的github找到这里。 – Nazmul 2015-10-28 14:44:49