Ejecutando Google Maps v2 en el emulador de Android

Intenté implementar Google Maps v2 en mi aplicación Android, pero desafortunadamente en lugar de mapas recibo este mensaje:

Esta aplicación no se ejecutará sin los servicios de Google Play que faltan en su teléfono.

¿Es posible ejecutar estos mapas en el emulador de Android (Plataforma 4.2)?

Por el momento, al hacer referencia a Google Android Map API v2 no puede ejecutar Google Maps v2 en el emulador de Android; debe usar un dispositivo para sus pruebas.

Para aquellos que se han actualizado a la última versión de google-play-services_lib y / o tienen este error, los Google Play services out of date. Requires 3136100 but found 2012110 Google Play services out of date. Requires 3136100 but found 2012110 esta nueva versión de com.google.android.gms.apk (Google Play Services 3.1.36) y com.android.vending.apk (Google Play Store 4.1.6) debería funcionar.

Pruebe con esta configuración en Android SDK Tools 22.0.1. Otra configuración que apunta a Android puro, no a Google, debería funcionar también.

  • Dispositivo: Galaxy Nexus
  • Objetivo: Android 4.2.2 – API nivel 17
  • CPU / ABI: ARM (armeabi-v7a)
  • Controlado: use la GPU de host

  1. Abra el AVD
  2. Ejecute esto en la terminal / cmd

     adb -e install com.google.android.gms.apk adb -e install com.android.vending.apk 
  3. Reiniciar el AVD

  4. Diviértete codificando!

Encontré esta manera de ser la más fácil, más limpia y funciona con la versión más nueva del software, que le permite obtener todas las correcciones de errores.

Por favor intenta lo siguiente. Fue exitoso para mi .

Pasos:

  1. Crea un nuevo emulador con esta configuración: Configuración AVD

  2. Inicie el emulador e instale los siguientes archivos APK : GoogleLoginService.apk , GoogleLoginService.apk y Phonesky.apk . Puedes hacer esto con los siguientes comandos:

     adb shell mount -o remount,yourAvdName -t yaffs2 /dev/block/mtdblock0 /system adb shell chmod 777 /system/app adb push GoogleLoginService.apk /system/app/ adb push GoogleServicesFramework.apk /system/app/ adb push Phonesky.apk /system/app/ 

    Enlaces para APK:

    1. GoogleLoginService.apk
    2. GoogleServicesFramework.apk
    3. Phonesky.apk También conocido como Google Play Store, v.3.5.16
    4. Google Maps , v.6.14.1
    5. Servicios de Google Play , v.2.0.10
  3. Instale los servicios de Google Play y Google Maps en el emulador

     adb install com.google.android.apps.maps-1.apk adb install com.google.android.gms-2.apk 
  4. Descargue la revisión 4 del Servicio Google Play desde este enlace y extra a la carpeta sdkmanager->extra->google play service .
  5. Importa google-play-services_lib desde androidsdk\extras\google\google_play_services .
  6. Cree un nuevo proyecto y haga referencia al proyecto anterior como un proyecto de biblioteca.
  7. Ejecute el proyecto.

He instalado satisfactoriamente Google Maps v2 en un emulador usando esta guía .
Debes hacer los siguientes pasos:

  • Crea un nuevo emulador Nexus S, Android 2.3.3. No use Google API.
  • Instalar com.android.vending.apk (Google Play Store, v.3.10.9)
  • Instalar com.google.android.gms.apk (Servicio Google Play, v.2.0.12)

Recomiendo usar el emulador de Genymotion en lugar de los emuladores de Google. Se inicia mucho más rápido y responde casi en tiempo real. También es compatible con Google Play Services y, por lo tanto, Google Maps.

Google Maps en Genymotion

¡Darle una oportunidad! Aquí hay una publicación de blog que te ayuda a configurar el emulador.

  • ¿Cómo configurar un emulador rápido para Android en Linux?

Puedo tener mi emulador para ejecutar mi aplicación con Google Map V.2 (con Google Play Service V.4). Seguí los pasos que otros sugirieron con algunas fallas, sin embargo, aprendí de ello y de alguna manera lo hice funcionar. Así es como:

  1. Antes que nada: debes haber codificado tu aplicación de mapas. correctamente con todos los permisos apropiados configurados en su metarchivo XML, y tienen la aplicación Google Play Services como parte de su aplicación. Para verificar que esto sea cierto, debe ejecutar su aplicación en el dispositivo REAL y saber que funciona allí con su mapa. Luego puede proceder a procesar su emulador como se muestra a continuación.

  2. Crea un nuevo emulador o usa tu emulador existente con las especificaciones:

    • Nombre de destino = Android 4.1.2
    • Nivel API = 16
    • CPU = Cualquiera. Sin embargo, encontré ARM es mucho más rápido / sensible que x86
    • Tener suficiente memoria RAM y espacio MB
  3. ¡Ejecuta tu emulador (tu emulador de destino debe estar ejecutándose!)

  4. Descargue los siguientes archivos APK (disponibles a través de Dropbox cada 4/2/2013) a su directorio local (¡busque virus!):

    • com.android.vending.apk , (Google Play Store, v.3.10.9)

    • com.google.android.gms.apk , (Servicio Google Play, v.2.0.12)

  5. Instale estos dos APK en su emulador en ejecución (destino) con el comando ADB:

    DOS / Solicitud de consola> adb -e install [ruta-a-archivo-APK]

    NOTA: Posiblemente, ha tenido estos APK instalados en su emulador durante este error de prueba, y necesita volver a instalar por algún motivo. Debe desinstalarlos primero por: adb -e uninstall (com.google.android.gms o com.android.vending)

  6. Aquí, es donde las cosas pueden ponerse difíciles. Crees que ya terminaste, pero cuando vuelves a abrir tu aplicación con Map, pero todo lo que obtienes es un error al decir algo en forma de: “Los servicios de Google Play están desactualizados. Requiere 2012100 pero se encontró 2010110”, y es posible que vea un botón para “Actualizar” Google Play. Si este es el caso, NO intente hacer clic en el botón de actualización ya que no hará nada. También recibí este error y lo resolví con estos dos pasos adicionales:

    • Limpiar-reconstruir-reinstalar mi aplicación en el emulador
    • Apaga mi emulador y reinícialo.
  7. Eso es todo, ahora funciona bien.

Google ha actualizado la API de segmentación de dispositivos virtuales 23. Ahora viene con Google Play Services 9.0.80. Por lo tanto, si está utilizando Google Maps API V 2.0 (estoy usando play-services-maps: 9.0.0 y play-services-location.9.0.0) no es necesaria ninguna solución. ¡Simplemente funciona!

He ejecutado con éxito nuestra aplicación, que requiere Google Maps API 2, en una máquina virtual AndroVM .

AndroVM no viene con Google Maps o Google Play instalado, pero proporciona una copia modificada del archivo Cyanogen Gapps, que es un conjunto de las aplicaciones de Google propietarias instaladas en la mayoría de los dispositivos Android.

Las instrucciones, copiadas de las preguntas frecuentes de AndroVM:

¿Cómo puedo instalar Google Apps (incluida la aplicación Market / Play)?

  • Descargue Google Apps: gapps-jb-20121011-androvm.tgz [básicamente el directorio / system del archivo gapps de Cyanogen sin la aplicación GoogleTTS que se cuelga en AndroVM]
  • Descomprima el archivo gapps … tgz en su host; tendrá un directorio de sistema creado
  • Obtenga la dirección IP de administración de su AndroVM (herramienta “Configuración AndroVM”) y haga “adb connect xyzt”
  • hacer “raíz adb”
  • reconectarse con “adn connect xyzt”
  • hacer “remo de adb”
  • hacer “sistema de empuje adb / / sistema /”

Tu máquina virtual se reiniciará y deberías tener aplicaciones de Google, incluyendo Market / Play.

No tendrá algunas aplicaciones de Google, como Maps, pero se pueden descargar de Market / Play.

¡Entonces siga esas instrucciones, luego simplemente instale Google Maps usando Google Play!

Algunos efectos secundarios importantes de usar una VM en lugar del emulador:

  • Rendimiento general muy superior
  • Aceleración OpenGL
  • Soporte de Google Play

El único bache en el camino hasta ahora ha sido la falta de gestos multitáctiles, ¡lo cual es un fastidio para una aplicación de mapas! Planeo solucionar esto con un mecanismo de IU oculto, por lo que no es un problema tan grande.

Debes probar un emulador con la versión de la API de Google. Cada plataforma tiene dos versiones, Android y Android + Google API. Asegúrese de que cuando cree el AVD, seleccione la versión de API de Google en el campo de destino.

Y la página Asegurar dispositivos Tener los servicios de Google Play APK también puede ser útil.

Intenté los pasos anteriores (por paniniluncher) pero recibí el siguiente mensaje:

 Google Play services out of date. Requires 3025100 but found 2012110 

Recibí este mensaje porque necesitaba diferentes versiones de los archivos mencionados anteriormente. Para resolver el problema, primero desinstalé los archivos mencionados anteriormente y descargué las versiones que necesitaba (como se menciona en la siguiente publicación de StackOverflow:

Servicios de Google Play desactualizados. Requiere 3025100 pero se encuentra 2012110

y luego instalé estos archivos usando `adb -e install [path-to-APK-file] y luego reinicié el emulador ¡y funcionó perfectamente!

Ya he respondido a esta pregunta en una respuesta a la pregunta de Pila Desbordamiento Problemas utilizando el botón de inicio de sesión de Google en el emulador . Solo funciona para Android 4.2.2, pero le permite usar el “Intel Atom (x86)” en AVD.

Creo que es fácil hacerlo funcionar para otras versiones de Android. Solo encuentra los archivos correctos.