Отсутствуют драйверы OpenGL на эмуляторе Android - PullRequest
4 голосов
/ 11 июля 2009

Я пытаюсь настроить эмулятор Android, чтобы поиграть с OpenGL ES на нем, но я зашел в тупик из-за того факта, что каждый раз, когда я запускаю на нем свою программу, он бесцеремонно гранатует сам себя. Проблема (по крайней мере, первая неприятная красная строка ошибки в журнале) - отсутствующий пакет с именем libhgl.so. Это файл драйвера OpenGL, необходимый для запуска OpenGL ES на устройствах Android, но по какой-то причине в моем эмуляторе его нет. Кто-нибудь знает, где я могу получить драйверы для эмулятора или как получить эмулятор, в котором они уже есть?

Ответы [ 2 ]

4 голосов
/ 11 июля 2009

В этой ссылке:

http://osdir.com/ml/android-porting/2009-06/msg00282.html

это говорит:

libEGL.so and libGLESv2.so implements EGL and OpenGL ES through
libhgl.so and libagl.so. That is, libhgl.so and libagl.so are
dlopen()ed by libEGL.so. All EGL and OpenGL ES calls will finally call
into libhgl.so and/or libagl.so.

и здесь:

http://osdir.com/ml/android-porting/2009-06/msg00288.html

libagl.so is an pure software impl. For your accelerated impl., you
need to provide libhgl.so so that libEGL.so will be able to use it. It
is expected that libhgl.so implements and exports both eglXXX and glXXX
symbols.

Я предполагаю, что это означает, что отсутствующий файл будет существовать только на самом устройстве, но приложение должно работать с программным драйвером на эмуляторе. Многочисленные скриншоты в Интернете приложений OpenGL на эмуляторе Android также указывают на то, что OpenGL должен нормально работать на эмуляторе. Есть ли другие возможные причины, по которым вы не можете запустить OpenGL?

3 голосов
/ 21 июля 2016

Логика загрузки драйвера пространства пользователя EGL находится в frameworks / native / opengl / libs / EGL / Loader.cpp. В основном есть три случая:

  1. Запуск с эмулятором в режиме программного рендеринга
  2. Запуск с эмулятором в режиме OpenGL. Именно здесь libhgl.so загружается для более ранней версии Android.
  3. Работает с реальным устройством.

Эмулятор, поставляемый с ADT, не работает хорошо для случая 2. Но эмуляторы улучшены за последние годы. Вы можете использовать последнюю версию Android Studio, которая имеет лучший эмулятор или leapdroid на http://www.leapdroid.com/

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...