Ejecución de Google Maps v2 en el emulador de Android

He intentado implementar Google Maps v2 en mi aplicación de 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 tu teléfono.

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

Por el momento, haciendo referencia a Google Android Map API v2, no puedes ejecutar Google Maps v2 en el emulador de Android; Debe utilizar un dispositivo para sus pruebas.

Para aquellos que se hayan actualizado a la última versión de google-play-services_lib y / o tengan 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.

Prueba 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 – Nivel API 17
  • CPU / ABI: ARM (armeabi-v7a)
  • Comprobado: Utilizar GPU host

  1. Abrir el AVD
  2. Ejecutar esto en el 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 !!!

He encontrado esta manera de ser el más fácil, más limpio y funciona con la nueva versión del software, que le permiten obtener todas las correcciones de errores.

Por favor intenta lo siguiente. Fue un éxito para mí .

Pasos:

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

  2. Inicie el emulador e instale los siguientes archivos APK : GoogleLoginService.apk , GoogleLoginService.apk y Phonesky.apk . Puede hacerlo 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 APKs:

    1. GoogleLoginService.apk
    2. GoogleServicesFramework.apk
    3. Phonesky.apk AKA Google Play Store, v.3.5.16
    4. Google Maps , v.6.14.1
    5. Servicios de Google Play , v.2.0.10
  3. Instalar 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 de Google Play Service de este enlace y extra a la carpeta sdkmanager->extra->google play service .
  5. Importe google-play-services_lib desde androidsdk\extras\google\google_play_services .
  6. Crear un nuevo proyecto y hacer referencia al proyecto anterior como un proyecto de biblioteca.
  7. Ejecute el proyecto.

He instalado correctamente Google Maps v2 en un emulador usando esta guía .
Debe realizar los siguientes pasos:

  • Cree un nuevo emulador Nexus S, Android 2.3.3. No utilice la API de Google.
  • Instala com.android.vending.apk (Google Play Store, v.3.10.9)
  • Instala com.google.android.gms.apk (Google Play Service, 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, con Google Maps.

Google Maps en Genymotion

¡Darle una oportunidad! Esta es una entrada de blog que le 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í pasos que otros sugirieron con algunos fracasos, sin embargo aprendí de él y de alguna manera lo hago funcionar. Así es como:

  1. En primer lugar: Debe haber codificado su aplicación de mapa. Correctamente con todos los permisos adecuados establecidos en el metarchivo XML, y que los APK de Google Play Services formen parte de la aplicación. Para verificar que esto es cierto, debe ejecutar su aplicación en el dispositivo REAL y saber que funciona con su mapa allí. A continuación, puede proceder a procesar su emulador como se muestra a continuación.

  2. Cree un emulador nuevo o utilice su emulador con especificaciones:

    • Target Name = 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. Ejecutar emulador (su emulador de destino debe estar ejecutando!)

  4. Descargue los siguientes APKs (disponibles a través de dropbox por 4/2/2013) en su directorio local (escanear virus!):

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

    • Com.google.android.gms.apk , (Google Play Service, v.2.0.12)

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

    DOS / Aviso de consola> adb -e install [path-to-APK-file]

    NOTA: Posiblemente, haya tenido estos APK instalados en su emulador durante este error de prueba, y es necesario volver a instalarlos por alguna razón. Debe desinstalarlos primero por: adb -e uninstall (com.google.android.gms o com.android.vending)

  6. Aquí, es donde las cosas podrían ser complicadas. Crees que ya terminaste, pero cuando vuelves a abrir tu aplicación con Map, pero todo lo que recibes es un error que dice algo en forma de: "Los servicios de Google Play están desactualizados, requiere 2012100 pero se encuentran 2010110", y puede que aparezca 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. Conseguí este error también, y lo resolví por ambos pasos adicionales:

    • Clean-rebuild-reinstala mi aplicación en el emulador
    • Apague mi emulador y vuelva a iniciarlo.
  7. Eso es todo, ahora funciona bien.

He ejecutado correctamente 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 la FAQ de AndroVM:

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

  • Descargar Google Apps: gapps-jb-20121011-androvm.tgz [básicamente el directorio / system del archivo gapps de Cyanogen sin la aplicación GoogleTTS que se bloquea en AndroVM]
  • Descomprima el archivo gapps … tgz en su host – tendrá un directorio de sistema creado
  • Obtenga la dirección IP de gestión de su AndroVM (herramienta "Configuración de AndroVM") y haga "adb connect xyzt"
  • Hacer "raíz adb"
  • Volver a conectar con "adn connect xyzt"
  • Hacer "adb remount"
  • Hacer "sistema de empuje de adb / / system /"

Su máquina virtual se reiniciará y usted debe tener google apps incluyendo Market / Play.

No tendrás algunos Google Apps, como Maps, pero se pueden descargar desde Market / Play.

Así que siga esas instrucciones, entonces sólo instale Google Maps con Google Play!

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

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

El único bache en el camino hasta ahora ha sido la falta de gestos multi-touch, lo cual es una lástima para una aplicación de mapeo! Planeo trabajar alrededor de esto con un mecanismo escondido de la interfaz de usuario, no tan un problema enorme.

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

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

Google ha actualizado la API de orientación de dispositivo virtual 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 intentado los pasos anteriores (por paniniluncher), pero recibió el siguiente mensaje:

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

Recibí este mensaje porque requería diferentes versiones de los archivos anotados anteriormente. Para resolver el problema primero desinstalé los archivos mencionados anteriormente, descargé las versiones que necesitaba (como se hace referencia en la siguiente publicación de StackOverflow:

Los servicios de Google Play están desactualizados. Requiere 3025100 pero encontrado 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 desbordamiento de pila Problemas con el botón de inicio de sesión de Google en el emulador . Sólo funciona para Android 4.2.2, pero le permite utilizar el "Atom de Intel (x86)" en AVD.

Creo que es fácil hacer que funcione para otras versiones de Android. Sólo busque los archivos correctos.

  • OnConnectionFailed dando SIGN_IN_REQUIRED (4)
  • Mensaje "Los servicios de Google Play se están actualizando" en SupportMapFragment cuando están en modo de publicación
  • Android: AdMob no funciona
  • Informe de instalación fallido para android
  • Reducir la biblioteca de Google Play Services para usarla únicamente con Google Analytics
  • "Service MeasurementBrokerService está en uso" está mostrando en mi proceso de solicitud
  • Mi botón de Google + 1 está atenuado y no funciona?
  • BaseGameUtils Error desconocido, onConnectionFailed: resultado 4
  • GooglePlayServicesUtil.isGooglePlayServicesAvailable () se bloquea
  • Administrador de etiquetas: ¿Cómo cargar el contenedor predeterminado binario?
  • Más una opción de botón compartido hace una entrada vacía
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.