Ich habe Android x86 4.0 erfolgreich auf VirtualBox installiert und versuche, eine OpenGL-App zum Laufen zu bringen. Ich habe in den VirtualBox-Einstellungen „3D-Beschleunigung“ aktiviert, aber wenn ich die App öffne, stürzt sie sofort ab und meldet sich
java.lang.IllegalArgumentException: No configs match configSpec
Ich habe den 0xbenchmark 3D-Test ausprobiert (0xbenchmark ist eine Test-App, die mit Android-x86 geliefert wird). Es hat perfekt funktioniert.BEARBEITEN:Ich bin mir nicht sicher, warum das so ist, denn keine anderen OpenGL-Apps scheinen zu funktionieren. Vielleicht unterstützt Android-x86 GLES 2.0 nicht wirklich.
Was kann ich tun, damit alle OpenGL-Apps auf VirtualBox funktionieren?
BEARBEITEN:Ich habe vergessen, vorher den Stacktrace einzubinden, also hier ist er (von 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)
Antwort1
Nach ausgiebigem Suchen und Testen habe ich die Lösung gefunden. Das Problem ist, dass die virtuellen Grafiktreiber von VirtualBox OpenGL nicht vollständig unterstützen. Was ich brauche, ist etwas, das die GPU meines Computers in die virtuelle Umgebung von Android übertragen kann. Ich habe etwas gefunden, das genau das kann.AndroVM. Die Android-Version verfügt über speziell geschriebene Treiber, die nahtlos in VirtualBox funktionieren, und wird mit einem eigenen Player geliefert, der GLES mithilfe der physischen GPU des Hosts emuliert. Mit AndroVM und seinem Player konnte ich alle OpenGL-Apps erfolgreich ausführen.