28

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
4

8 回答 8

15

从命令行启动模拟器时$ emulator64-arm -avd GalaxyS2--我收到了类似(也许/希望)的相关消息:

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

lib64OpenglRender.so通过locate. 它位于-dir的tools/lib-子目录中。android-sdk-linux

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

path_to_android-sdk-linux_directory/tools/lib

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

于 2013-09-29T12:15:13.377 回答
9

导出 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

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

于 2015-09-07T13:50:27.440 回答
3

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

于 2013-05-30T03:23:52.417 回答
2


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

万一有人偶然发现了这个,一个更详细和完整的解决方案......

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

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 为前缀。这意味着当您独立启动它时,您没有设置该环境变量。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.?)显卡驱动程序,然后选择上述之一(包装器外壳或(bash-)session-init 设置)。

请注意,较新版本的 Android-Studio 已分叉出 SDK

于 2015-01-19T18:56:07.173 回答
0

我也有同样的问题,即使我512 MBRAM。我通过“删除”旧模拟器并重新创建新模拟器来解决。我仍然不知道这个问题的原因。Google Developers尚未关闭此问题。希望我的解决方案对其他人有所帮助。

于 2013-09-03T09:01:54.543 回答
0

您必须使用您的 android 设备规范,例如 RAM、Heap 其他规范。

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

于 2013-07-20T00:43:00.753 回答
0

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

在 Fedora 上,这似乎可以解决问题:

> yum install mesa-libGLw.i686

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

编辑:对于与 Windows 相关的事情,这个答案似乎可以满足您的需求。

于 2013-03-23T18:15:47.553 回答
0

还有一个提示...检查您是否不在虚拟机上...我的意思是您应该在真机上。

于 2015-05-19T07:54:33.693 回答