Error de EGL al intentar ejecutar mapsActivity en el emulador de Android
Estoy intentando iniciar la actividad predeterminada de Google Maps en una API de emulador de Android 25 con API de Google y estoy recibiendo el siguiente error:
Initialized EGL, version 1.4 04-15 11:30:25.043 3888-3937/dk.pawliux.app.mapstest D/OpenGLRenderer: Swap behavior 1 04-15 11:30:25.096 3888-3933/dk.pawliux.app.mapstest E/EGL_emulation: rcCreateContext returned 0 04-15 11:30:25.097 3888-3933/dk.pawliux.app.mapstest E/EGL_emulation: tid 3933: eglCreateContext(1284): error 0x3003 (EGL_BAD_ALLOC) 04-15 11:30:25.097 3888-3933/dk.pawliux.app.mapstest E/AndroidRuntime: FATAL EXCEPTION: GLThread 194 Process: dk.pawliux.app.mapstest, PID: 3888 java.lang.RuntimeException: createContext failed: 12291 at com.google.maps.api.android.lib6.gmm6.vector.bi.a(:com.google.android.gms.DynamiteModulesB:834) at com.google.maps.api.android.lib6.gmm6.vector.bj.f(:com.google.android.gms.DynamiteModulesB:20825) at com.google.maps.api.android.lib6.gmm6.vector.bj.run(:com.google.android.gms.DynamiteModulesB:881)
Como puedo ver en un manifiesto combinado, está escrito:
- la animación adview admob hace que glsurfaceview se retrasa
- Obtener el máximo límite de tamaño de textura de OpenGL ES 2.0 en Android
- Detectar los toques del usuario sobre un cuadrado OpenGL
- Consejos sobre dibujo de alto rendimiento en Android
- Usando Tracer Para opengl en depurador android
<uses-feature android:glEsVersion="0x00020000" android:required="true"/>
¿Significa que estoy intentando lanzar una aplicación que utilice un EGL más alto que mi tarjeta de emulador / tarjeta gráfica? Estoy utilizando Intel HD Graphics 3000 con HAXM habilitado.
Como han intentado lanzar en muchas otras APIs con API de Google y seguir igual. A pesar de que mi aplicación de prueba no se inicia, pero la aplicación integrada de Google Maps se inicia y funciona sin ningún problema en el emulador.
¿Hay una manera de solucionar mi problema?
La aplicación está trabajando en un dispositivo real.
Gracias por adelantado.
- Android Canvas o Open GL ES para el juego 2d?
- Android: el renderizado de OpenGL se detiene cuando se ejecuta una gran tarea de fondo
- Transformaciones de matrices Android de OpenGL ES
- Errores extraños al animar (Adreno, GL)
- Cómo tratar NaN o inf en los shaders de OpenGL ES 2.0
- Android Opengl-es carga un poder de 2 no-textura
- ¿Cuál es la diferencia entre 'Wall Time' y 'Thread Time' en 'Tracer para OpenGL ES' en DDMS
- ¿Qué hace gl.glClearColor?
Parece que he encontrado la solución a mi propio problema. Estoy publicándolo aquí en caso de que alguien más resuelva el mismo problema.
Al crear un nuevo emulador se pueden elegir algunas opciones en Emulated performance. Puede ser Automatic
, Hardware GLES
o Software GLES
. En mi caso, el Software GLES 2.0
hizo la magia. Los mapas están funcionando un poco más lento pero lo suficientemente rápido como para tener paciencia para probar mi aplicación.
Aquí está la imagen del lugar donde elegir Emulation for Graphics
Supongo que mi tarjeta gráfica tiene problemas con los emuladores.
Una forma alternativa de arreglar esto es ir a la configuración del emulador en sí y luego cambiar la opción de renderizado de OpenGL ES, en mi caso, cambiar el escritorio de OpenGL nativo solucionado el problema.
Por favor, compruebe la captura de pantalla a continuación:
- ¿Cómo mostrar imágenes aleatorias en Android?
- Cómo construir localmente una aplicación iónica tomada de un repositorio .git