¿Cómo actualizar los servicios de Google Play para los emuladores de Android Studio 2.2?

Hay una serie de variaciones de esta pregunta, sin embargo, la mayoría son muy antiguas, y realmente no responden la pregunta en absoluto. NO estoy preguntando cómo instalar Play Services, que está instalado en los emuladores Studio 2.2.

El problema es que estos emuladores están usando una versión anterior de los servicios de Play.

Cuando ejecuto una aplicación de prueba que usa Firebase para facilitar el inicio de sesión de Google, aparece este diálogo de alerta de un emulador Nexus 5 API 23:

enter image description here

En el método onCreate de mi actividad de inicio de sesión tengo este código:

int result = GooglePlayServicesUtil.isGooglePlayServicesAvailable(this); switch(result) { case ConnectionResult.SERVICE_VERSION_UPDATE_REQUIRED: Log.d(TAG,"SERVICE_VERSION_UPDATE_REQUIRED"); break; case ConnectionResult.SUCCESS: Log.d(TAG, "Play service available success"); break; default: Log.d(TAG, "unknown services result: " + result); } 

Esto siempre devuelve SERVICE_VERSION_UPDATE_REQUIRED.

Al hacer clic en Actualizar en el cuadro de diálogo de alerta, no puedo detectar nada. En el registro de depuración recibo este mensaje cuando falla el inicio de Play Services:

 W/GooglePlayServicesUtil: Google Play services out of date. Requires 9080000 but found 8489470 

Mi aplicación funciona bien en un dispositivo Android real.

¿Qué cosa tan simple me estoy perdiendo?

TIA

Puede que esto no sea relevante para esta pregunta ahora, pero quería publicarlo aquí para futuros exploradores, para que vean un poco de tierra al final del mar. Había estado luchando con este desactualizado Google Play Service en mi emulador Nexus 5 x86 con API 25 y probando la notificación de Firebase. Estoy usando Firebase 10.0.1 que necesita Google Play Services 10.0.1. Pero en mi emulador, siempre solía recibir el mensaje

W / GooglePlayServicesUtil: servicios de Google Play desactualizados. Requiere 1008400 pero se encontró 9874900

W / FA: Error en la conexión del servicio: ConnectionResult {statusCode = SERVICE_VERSION_UPDATE_REQUIRED, resolution = null, message = null}

Había buscado exhaustivamente una forma de actualizar los Servicios de Google Play en mi emulador, y lo que se sugirió nunca funcionó. Finalmente, traté de crear un nuevo emulador Nexus 5 x86_64 y API 24. Voila !!! Tiene Google Play Services 10.0.1 y mi aplicación funciona ahora.

Realmente me gusta por qué la imagen x86 no tiene los últimos Google Play Serviecs y no me permite actualizarlo de ninguna manera, mientras que la imagen x86_64 tiene los últimos servicios de Google Play.

Espero que esto ayude a alguien a luchar con Google Play Services.

En cuanto a mi caso, intenté buscar actualizaciones en Android Studio, así como en los Servicios de Google Play, y reinicié Android Studio. Luego apareció el cuadro de diálogo de actualización, que me permite actualizar las imágenes del emulador con la versión correcta de Google Play Services.

enter image description here

Espere a que termine la actualización, luego cree nuevos AVD basados ​​en las imágenes recién actualizadas, y todo está listo para continuar.

Suponiendo que está utilizando los AVD predeterminados de Android, a diferencia de Genymotion, solo tiene que asegurarse de que todo se haya actualizado.

Esto es lo que funciona para mí. Si está usando la versión actual de los servicios de reproducción, 9.6.1 o superior, asegúrese de lo siguiente:

  1. Su versión de herramientas de comstackción es 24.0.3 o superior
  2. En el Administrador de SDK (pestaña Plataformas SDK):
    • Si prueba Nougat, su emulador está utilizando la API de Google System System Image Revision 8 o superior (estoy usando “Google APIs Intel x86 Atom_64 System Image”)
    • Google APIs está instalado y actualizado (para mí, “Google APIs, Android 24” – Revisión 1.0.0)
  3. En el Administrador de SDK (pestaña Herramientas de SDK):
    • Android SDK Platform Tools es la versión 24.0.3 o superior
    • Android SDK Tools es la versión 25.2.2 o superior
    • Servicios de Google Play está instalado y utilizando la versión 33 o superior
    • (Probablemente es opcional) El repository de Google está instalado y la versión 36 o superior

Después de asegurar todo eso y reiniciar Android Studio (porque es mejor prevenir que lamentar), cree un nuevo AVD. Utilizo principalmente las siguientes configuraciones: – Nougat (API 24) – ABI – x86_64 – Target – Android 7.0 (con Google API)

Esto está funcionando para mí, ya que estaba teniendo el mismo problema esta mañana hasta que actualicé todo. Buena suerte 🙂

En caso de que las personas sigan buscando una respuesta y no hayan encontrado ninguna solución que corrija o actualice los Servicios de Google Play en sus emuladores, esto es lo que me ayudó. Seguí varias publicaciones de SO que me recomendaron obtener las últimas herramientas de comstackción de SDK pero me perdí una actualización muy importante. Es decir, desde las plataformas SDK debe actualizar / descargar

Google Play Intel x86 Atom System Image

Una imagen vale mas que mil palabras: enter image description here

Estos paquetes solo funcionarán para Android 4.2.2 y superior. En estas respuestas, estoy tomando un ejemplo de (API 17) .y funcionará.

Comencemos lanzando el administrador de SDK. Primero debemos asegurarnos de que Android 4.2.2 (API 17) y superior esté instalado.

 [shubham@localhost tools]$ ./android sdk 

De lo contrario, verifique el elemento de nivel superior, “Android 4.2.2 (API 17)”, haga clic en “Instalar 6 paquetes” y acepte el acuerdo de licencia.

Configurando la imagen

Para obtener la imagen correcta para su administrador de dispositivo virtual:

  • Abra el Administrador de Android SDK
  • Abra el grupo Android 4.2.2 (API 17)
  • Verifique las API de Google
  • Comprobar la imagen del sistema ARM EABI v7a

    [! [Herramienta Android de Google SDK] [1]] [1]

Una vez instalado, cierre el administrador de SDK e inicie el administrador de AVD. Aquí necesitaremos crear un nuevo AVD que utilice la plataforma Android 4.2.2 y tenga instantáneas habilitadas para que los cambios que hagamos sean persistentes.

 [shubham@localhost tools]$ ./android avd 

A continuación, debemos desplegar el paquete apropiado de Google Apps. Usando Android 4.2.2 (API 17) y superior debemos usar el paquete apropiado de acuerdo con el siguiente enlace.

 [https://www.androidfilehost.com/?w=files&flid=5649][2] 

Una vez descargado, extrae el archivo. Para instalar Google Play, necesitaremos enviar los siguientes 3 APK a nuestro AVD (ubicado en ./system/app/):

  • GoogleServicesFramework.apk
  • GoogleLoginService.apk
  • Phonesky.apk

Sin embargo, antes de hacerlo, tenemos que hacer algunas modificaciones menores a nuestro AVD. Vamos a lanzar el AVD recién creado usando el siguiente comando. Tenga en cuenta que hemos especificado un tamaño de partición de 512 MB. Esto es para garantizar que nuestro AVD tenga capacidad suficiente para instalar Google Play Store y sus dependencias.

 [shubham@localhost tools]$ ./emulator -avd Test -partition-size 512 -no-boot-anim 

Esto puede tomar varios minutos la primera vez que se crea el AVD. Una vez que comenzamos tenemos que volver a montar la partición de AVD y modificar los permisos de “/ system / app /”, ya que es aquí donde se instalarán nuestros paquetes.

 [shubham@localhost platform-tools]$ ./adb remount [shubham@localhost platform-tools]$ ./adb shell chmod 777 /system/app 

Y finalmente, podemos enviar estos APK a nuestro AVD:

 [shubham@localhost platform-tools]$ ./adb push ~/system/app/GoogleServicesFramework.apk /system/app/ [shubham@localhost platform-tools]$ ./adb push ~/system/app/GoogleLoginService.apk /system/app/ [shubham@localhost platform-tools]$ ./adb push ~/system/app/Phonesky.apk /system/app/ 

Ahora, si su emulador es tan lento como el mío, puede tomar unos minutos para que se instale el paquete. Sabrá si la instalación aún no se ha completado si el proceso del iniciador se bloquea repetidamente en usted;)

Después de unos minutos, deberíamos ver que el paquete de Google Play aparece dentro del menú de inicio. Después de asociar una cuenta de Google con este AVD ahora tenemos una versión totalmente funcional de Google Play que se ejecuta bajo su emulador.

Por favor, consulte este enlace: [ http://www.flinkd.org/2013/12/installing-google-play-on-the-android-emulator-api-18/%5D%5B3%5D

Eso debería hacer el trabajo. Para obtener más información y tutoriales, puede ver estos videos tutoriales: – [ https://www.youtube.com/watch?v=Nq5mng20PC8%5D%5B4%5D

  [1]: http://i.stack.imgur.com/Xn2cX.png [2]: https://www.androidfilehost.com/?w=files&flid=5649 [3]: http://www.flinkd.org/2013/12/installing-google-play-on-the-android-emulator-api-18/ [4]: https://www.youtube.com/watch?v=Nq5mng20PC8 

No estoy preguntando cómo instalar Play Services, que está instalado en los emuladores Studio 2.2.

Parece que estás preguntando cómo actualizarlo, en cuyo caso necesitas saber cómo instalarlo.

El problema es que estos emuladores están usando una versión anterior de los servicios de Play.

Eso es lo que dice el error, sí.

Posibilidad uno: su emulador y / o biblioteca SDK está desactualizada, y necesita un nuevo AVD.

Posibilidad dos: vaya a descargar la última APK para Play Services e instálela. Puede usar adb para instalarlo, por ejemplo. Genymotion le permitirá instalar archivos APK arrastrándolos al emulador.

Lo que funcionó para mí es:

  1. Verifique e instale cualquier nueva actualización. Específicamente, desea asegurarse de que está instalando la versión más nueva de los Servicios de Google Play. Además, puede verificar la versión de Servicios de Google Play que está utilizando en el Administrador de SDK.

  2. Elimine todos sus emuladores en el Administrador de AVD (Dispositivo virtual Android).

  3. Crear nuevos emuladores.

Debería funcionar bien afterwords!

Mismo problema con API 25, Studio 2.2.3, línea cambiante resuelta

 compile 'com.google.android.gms:play-services:10.2.0' 

a

 compile 'com.google.android.gms:play-services:9.8.0' 

en build.gradle (Módulo: aplicación), mientras se espera una actualización de Google Play Services en las imágenes del emulador.