模拟器:警告:无法使用软件渲染器初始化OpenglES仿真

时间:2013-03-23 18:02:49

标签: android android-emulator avd

这些错误消息对Android模拟器意味着什么?

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

8 个答案:

答案 0 :(得分:15)

从命令行启动模拟器 - $ emulator64-arm -avd GalaxyS2 - 我得到了一个类似的(可能/希望)相关的消息:

  

模拟器:错误:无法加载OpenGLES仿真库:lib64OpenglRender.so:无法打开共享对象文件:没有这样的文件或目录

我发现此文件lib64OpenglRender.solocate。它位于tools/lib - {dir。}的android-sdk-linux - 子目录中。

所以我创建了/etc/ld.so.conf.d/android_stuff.conf(你当然可以将以下行添加到该目录中的另一个* .conf文件中)并放入一行:

  

path_to_android-SDK-linux_directory /工具/ lib中

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

答案 1 :(得分:9)

export LD_LIBRARY_PATH =“/ home /< user-pc> / Android / Sdk / tools / lib64:$ LD_LIBRARY_PATH”

cd / home / nazmul / Android / Sdk / tools

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

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

答案 2 :(得分:3)

确保为显卡安装了正确的驱动程序。我有完全相同的错误。

答案 3 :(得分:2)


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

如果有人偶然发现了这个问题,那就是更加详细和完整的解决方案......

vanilla studio.sh starter-shell脚本设置了一个env变量:

LD_LIBRARY_PATH="$IDE_BIN_HOME:$LD_LIBRARY_PATH"

然后它出口。 IDE_BIN_HOME是使用studio.sh文件的位置设置的(中间的某个地方 - 通常是[android-studio] / bin)。 当通过Studio-> Manger->工具 - >管理AVD启动模拟器时,此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

这可能有点过头了,但它已经完成;) 根据Distro / Setup,可以预设JAVA_HOME,因此您可以删除该行。如果您经常使用模拟器,您还可以添加类似

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

到您的.bashrc或.profile文件。

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

请注意,较新版本的Android-Studio已经推出了SDK

答案 4 :(得分:0)

这意味着链接器无法在您的系统上找到OpenglES库。您可以尝试安装它们。

在Fedora上,这似乎解决了这个问题:

> yum install mesa-libGLw.i686

此处提供了一些相关信息:http://www.redips.net/android/emulator-fedora-linux/

编辑:对于与Windows相关的内容,this answer似乎可以执行您想要的操作。

答案 5 :(得分:0)

你必须使用你的Android设备规范,如RAM,堆其他规范。

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

答案 6 :(得分:0)

即使我有512 MB RAM,我也有同样的问题。我解决了“删除”旧的模拟器并重新创建了新的模拟器。我仍然不知道这个问题的原因。这个问题尚未被谷歌Developers关闭。希望我的解决方案可以帮助他人。

答案 7 :(得分:0)

再提示一下......检查一下你是不是在虚拟机上......我的意思是你应该在真机上。