2

Я успешно установил Android x86 4.0 на VirtualBox и пытаюсь заставить работать приложение OpenGL. Я включил «3D-ускорение» в настройках VirtualBox, но когда я открываю приложение, оно мгновенно вылетает и регистрируется

java.lang.IllegalArgumentException: No configs match configSpec

Я попробовал 3D-тест 0xbenchmark (0xbenchmark - тестовое приложение, которое поставляется с Android-x86). Это сработало отлично. РЕДАКТИРОВАТЬ: Я не уверен, почему это происходит, потому что никакие другие приложения OpenGL, кажется, не работают. Возможно, Android-x86 на самом деле не поддерживает GLES 2.0

Что я могу сделать, чтобы все приложения OpenGL работали на VirtualBox?

РЕДАКТИРОВАТЬ: я забыл включить трассировку стека, так что вот (из logcat):

E/AndroidRuntime( 1681): FATAL EXCEPTION: GLThread 146
E/AndroidRuntime( 1681): java.lang.IllegalArgumentException: No configs match configSpec
E/AndroidRuntime( 1681):        at android.opengl.GLSurfaceView$BaseConfigChooser.chooseConfig(GLSurfaceView.java:863)
E/AndroidRuntime( 1681):        at android.opengl.GLSurfaceView$EglHelper.start(GLSurfaceView.java:1024)
E/AndroidRuntime( 1681):        at android.opengl.GLSurfaceView$GLThread.guardedRun(GLSurfaceView.java:1401)
E/AndroidRuntime( 1681):        at android.opengl.GLSurfaceView$GLThread.run(GLSurfaceView.java:1240)

1 ответ1

1

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

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .