我使用 Fedora 19 64 位 (GNOME 3) 进行 Android 开发。
找到 libGL
给我:
/home/ericnguyen/adt/sdk/tools/lib/libGLES_CM_translator.so
/home/ericnguyen/adt/sdk/tools/lib/libGLES_V2_translator.so
/usr/lib/libGL.so.1
/usr/lib/libGL.so.1.2.0
/usr/lib64/libGL.so.1
/usr/lib64/libGL.so.1.2.0
/usr/lib64/libGLU.so.1
/usr/lib64/libGLU.so.1.3.1
/usr/share/doc/mesa-libGL-9.2
/usr/share/doc/mesa-libGL-9.2/COPYING
现在我无法使用计算机的 GPU 启动模拟器
无法加载 libGL.so
错误 libGL.so:无法打开共享对象文件:没有这样的文件或目录
所以,我正在尝试找到合适的 libGL.so 文件来执行 this 操作。
另外,当我:
yum install mesa-libGL.x86_64
我得到:
Package mesa-libGL-9.2-0.14.20130723.fc19.x86_64 already installed and latest version
Nothing to do
注释:
我可以在没有 GPU 的情况下运行模拟器。
我的显卡是AMD ATI Radeon HD 5000系列。我认为我还没有安装任何驱动程序。我执行了 yum search radeon 并找到了 xorg-x11-drv-ati.x86_64 但我不确定这是否是正确的驱动程序 - 我发现人们遇到了启动问题尝试安装显卡驱动程序(我自己的 Windows 经验),所以我现在有点不确定。
我还知道,需要安装 AMD/ATI 的专有软件才能使用显卡。
最佳答案
模拟器是一个 32 位应用程序。您需要安装等效的 32 位库。来自 Fedora wiki HOWTO Setup Android Development推荐的库是:
glibc.i686 glibc-devel.i686 libstdc++.i686 zlib-devel.i686 ncurses-devel.i686 libX11-devel.i686 libXrender.i686 libXrandr.i686
如果您可以在没有 GPU 支持的情况下运行模拟器,我会假设您拥有所有这些。
对于 mesa-libGL,您的 yum 命令正在尝试安装该库的 64 位版本,因此请尝试以下操作:
yum install mesa-libGL.i686
编辑(问题更新后):
是,如果尚未安装 xorg-x11-drv-ati 驱动程序,请安装。这是开源驱动程序,如果它不起作用,您应该返回到您现在正在运行的任何驱动程序。
我有一张 Nvidia 卡,但它是与我之前的 ATI 卡一起运行的。我认为自从我不久前设置模拟器以来,模拟器已经发生了一些变化,因为它似乎正在与 64 位库一起运行:
$ pldd 9989
...
...
./lib/lib64OpenglRender.so
/opt/android-sdk-linux/tools/./lib/../lib/lib64EGL_translator.so
/usr/lib64/nvidia-304xx/libGL.so.1
/usr/lib64/nvidia-304xx/tls/libnvidia-tls.so.304.88
/usr/lib64/nvidia-304xx/libnvidia-glcore.so.304.88
/opt/android-sdk-linux/tools/./lib/../lib/lib64GLES_CM_translator.so
/opt/android-sdk-linux/tools/./lib/../lib/lib64GLES_V2_translator.so
/lib64/libGL.so
/lib64/libglapi.so.0
/lib64/libXdamage.so.1
/lib64/libX11-xcb.so.1
/lib64/libxcb-glx.so.0
/lib64/libxcb-dri2.so.0
...
...
..
....
(9989 是正在运行的模拟器的进程 ID。)
因此安装您已经提到的驱动程序应该就足够了。
您可以仅使用模拟器和JellyBean Easter Egg来测试模拟器是否正在使用它们。 。
emulator -avd <your_avd_name> -gpu on
应该会给你带来明显更好的性能比
emulator -avd <your_avd_name> -gpu off
一些额外信息:
如果您想尝试,您可以安装专有驱动程序 xorg-x11-drv-catalyst,来自 RPM Fussion并会在非免费存储库中找到它。
如果您没有它们,您的系统上已经有 RPM Fussion 存储库(该站点上有详细说明。)我强烈推荐它们。它们得到了很好的支持,并且比使用一些 Fedora 等效项给您带来的麻烦更少(例如,它们将 mp3 支持返回到软件包中。)
你说你是 Linux 新手(或者你的意思是在 Linux 上使用驱动程序),无论哪种方式仅供引用:安装包时你不需要包含目标平台(即 .x86_64 .i686) Yum 会排序除非您需要与您正在运行的体系结构不同的体系结构的库,否则这一点都适合您。
关于android - Fedora 64 位中的 Android 模拟器使用哪个 libGL?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18507812/