Ошибка libGL.so: невозможно открыть общий объектный файл с помощью эмулятора Android

Я пытался запустить эмулятор Android в Ubuntu 12.04 (64-разрядный). Но я получил следующие ошибки.

Starting emulator for AVD 'emulatr'
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
Failed to load libGL.so
error libGL.so: cannot open shared object file: No such file or directory
emulator: emulator window was out of view and was recentered

После использования locate libGL. я обнаружил

/home/adnan/android-sdk-linux/tools/lib/libGL.so
/usr/lib/libGL.so
/usr/lib/i386-linux-gnu/libGL.so
/usr/lib/i386-linux-gnu/mesa/libGL.so
/usr/lib/i386-linux-gnu/mesa/libGL.so.1
/usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1
/usr/lib/x86_64-linux-gnu/mesa/libGL.so.1.2.0

Я также попробовал некоторое решение из этого question Но это не сработало. Я буду рад, если вы, ребята, поможете решить эту проблему.

Ответ 1

Как я использую 64-разрядный Ubuntu 12.04. Итак, я сделал это

$ sudo apt-get install git-core gnupg flex bison gperf build-essential \
  zip curl libc6-dev libncurses5-dev:i386 x11proto-core-dev \
  libx11-dev:i386 libreadline6-dev:i386 libgl1-mesa-glx:i386 \
  libgl1-mesa-dev g++-multilib mingw32 openjdk-6-jdk tofrodos \
  python-markdown libxml2-utils xsltproc zlib1g-dev:i386
$ sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1 /usr/lib/i386-linux-gnu/libGL.so

Ответ 3

В Fedora

sudo yum install mesa-libGL-devel

Ответ 4

Это работает для меня на Ubuntu 14.04 64-bit:

$ sudo apt-get install libgl1-mesa-dri
$ sudo ln -sv /usr/lib/x86_64-linux-gnu/mesa/libGL.so.1 /usr/lib/x86_64-linux-gnu/libGL.so

Ответ 5

Вам не нужны файлы разработки для libgl1-mesa, поэтому вместо /t 21 следует установить libgl1-mesa-dri, как это было предложено другими. Это избавит вас от нескольких МБ ненужных файлов.

Кроме того, приложения для Android являются либо 32-разрядными, либо 64-разрядными.

Для 32-битного Ubuntu вам нужен 32-битный SDK (поскольку 64 бит не работает):

sudo apt-get install libgl1-mesa-dri

То же самое касается 64-разрядного Ubuntu с 64-разрядным SDK.

Но для 64-разрядного Ubuntu в сочетании с 32-разрядным SDK вам нужно указать, что вам нужна 32-битная версия пакета:

sudo apt-get install libgl1-mesa-dri:i386

Ответ 6

У меня тоже была эта проблема (fedora 20), но файлы libGL уже существовали в моей файловой системе. Основываясь на проверке библиотек на старой установке fedora 18, я обнаружил, что могу решить проблему, предоставив символическую ссылку для ссылки libGL.so на libGL.so.1.2.0.