Google Play en el emulador de Android 4.0


184

¿Cómo puedo instalar el Google Play .apk en mi emulador de Android 4.0?


1
Nota: Los comentarios tienen resultados mixtos, por lo que su experiencia puede variar
amb

pero es lo mismo con otras versiones de emulador, y funcionó allí, ¿por qué no debería funcionar en 4.x? :)
reox

Respuestas:


259

Descargue las aplicaciones de Google (GoogleLoginService.apk, GoogleServicesFramework.apk, Phonesky.apk)
desde aquí .

Comience su emulador:

emulator -avd VM_NAME_HERE -partition-size 500 -no-audio -no-boot-anim

Luego use los siguientes comandos:

# Remount in rw mode.
# NOTE: more recent system.img files are ext4, not yaffs2
adb shell mount -o remount,rw -t yaffs2 /dev/block/mtdblock0 /system

# Allow writing to app directory on system partition
adb shell chmod 777 /system/app

# Install following apk
adb push GoogleLoginService.apk /system/app/.
adb push GoogleServicesFramework.apk /system/app/.
adb push Phonesky.apk /system/app/. # Vending.apk in older versions
adb shell rm /system/app/SdkSetup*

21
Nota: Vending.apk se llama Phonesky.apk en los últimos lanzamientos
Catalin Morosan

9
URL está rota :(
TheDude

16
el parámetro -partition-size es importante, sin él obtuve la excepción OutOfMemory mientras presiono las aplicaciones
mike

12
Creo que esta respuesta debería ser la respuesta aceptada. Después de todo, esta es una respuesta real, la respuesta actual aceptada (11/11/2013) es solo "romper el eula es como algo malo, ¿vale?" tipo de comentario
Chris-l

44
¿Soy el único que no puede hacer que esto funcione? En los emuladores 4.4 y 5.0, agregar los APK no muestra el ícono de Play Store y adb rebootsimplemente se cuelga.
Nate

85

Para futuros visitantes.

A partir de ahora, la plataforma Android 4.2.2 incluye servicios de Google Play. Solo usa un emulador con Jelly Bean. Detalles pueden ser encontrados aqui:

Configurar SDK de servicios de Google Play

EDITAR:

Otra opción es usar Genymotion (funciona mucho más rápido)

EDITAR 2:

Como comentó @ gdw2: "configurar el SDK de servicios de Google Play no instala una aplicación de Google Play que funcione, solo habilita ciertos servicios proporcionados por el SDK"

Después de la versión 2.0, Genymotion no viene con Play Services de forma predeterminada, pero se puede instalar fácilmente manualmente. Simplemente descargue la versión correcta desde aquí y arrastre y suelte en el dispositivo virtual (emulador).


1
@quinestor sí, lo hace
Androiderson

66
¡Santa Madre! ¡Genymotion es dulce!
Ross Hambrick

66
@ Excepción: creo que debería actualizar su respuesta para aclarar que la configuración del SDK de servicios de Google Play no instala una aplicación de Google Play que funcione, solo habilita ciertos servicios proporcionados por el SDK.
gdw2

1
+1 por sugerir Genymotion !!! No sabía que existía y ahora no puedo vivir sin él. Funciona perfectamente con Android Studio (solo agregue el complemento) y ahora puedo presentar mis aplicaciones de Google Maps V2 sin recurrir a dispositivos "reales". ¡Un millón de gracias!
Loudenvier

1
Buen punto de @SeanChamp, pero las pruebas finales siempre deben realizarse en un dispositivo real
Androiderson

27

Hago esto de una manera más permanente: en lugar de instalar los APK cada vez adb, agrégalos permanentemente a la imagen del sistema que usa el emulador. Necesitará Yaffey en Windows, o una utilidad similar en otros sistemas, para modificar las imágenes YAFFS2. Copie GoogleLoginService.apk, GoogleServicesFramework.apky Phonesky.apk(o Vending.apken versiones anteriores de Android) a la /system/appcarpeta del system.imgarchivo del emulador. Después puedo iniciar el emulador normalmente, sin jugar con adb, y Play Store siempre está ahí.

Obteniendo la aplicación Google Play desde tu dispositivo

La descarga de Google Apps desde algún sitio de Internet puede no ser bastante legal, pero si tiene un teléfono o tableta con la versión de Android correspondiente, simplemente retírelos de su dispositivo:

adb -d root
adb -d pull /system/app/GoogleLoginService.apk
adb -d pull /system/app/GoogleServicesFramework.apk
adb -d pull /system/app/Phonesky.apk

Debe tener acceso a nivel raíz (ejecute adb root) al dispositivo para extraer estos archivos de él.

Agregándolo a la imagen

Ahora comience yaffeyen Windows o una utilidad similar en Linux o Mac, y abra system.imgla imagen del emulador que desea modificar. Modifico más a menudo el de adentro [...]\android-sdk\system-images\android-17\x86.

Cambie el nombre del original system.imga system-original.img. En yaffey, copie los archivos APK que extrajo de su dispositivo a la carpeta / app. Guarde su imagen modificada como system.imgen la carpeta original. Luego, inicie su emulador (en mi caso, sería un emulador de Android 4.2 con procesador Intel Atom que funciona con Intel HAX, súper rápido en máquinas con Windows) y tendrá Play Store allí. No me pareció necesario eliminar SdkSetup.apky SdkSetup.odex- la Play Store y otros servicios todavía funcionan bien para mí con estos archivos presentes.

Cuando termine con su prueba, para aliviar su conciencia culpable de piratear temporalmente las aplicaciones de Google desde su dispositivo, puede eliminar el modificado system.imgy restaurar el original system-original.img.


55
No parece haber un editor YAFF2 que funcione para Linux, pero afortunadamente, resulta que con un cambio de una línea, Yaffey mismo compila y ejecuta Linux. Publiqué los pasos que usé en esta pregunta de Ubuntu.
Caracol mecánico

Los +1 son mucho menos para la felicidad del momento. StackOverflow debería tener un botón de beso porque eres feliz :)
Abhishek Susarla

Pude sacar los tres APK de un teléfono Android 4.1.2 sin root, pero todavía estoy trabajando para instalarlos en otro lugar.
bonh

¿Alguna alternativa de yaffey para Mac?
Olcay Ertaş

1
@ OlcayErtaş Mac Yaffey: github.com/danielkutik/yaffey . Crea un Yaffey.app, funciona perfectamente en mi Yosemite.
Xiao

4
  1. Descargue el paquete gapps de http://goo.im/gapps
  2. extraer GoogleLoginService.apk, GoogleServicesFramework.apk y Vending.apk Ir al tipo de ventana cmd adb shell
    1. en el tipo de concha mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    2. luego presione Ctrl + c para salir. cd al directorio donde se ha extraído apks,
    3. tipo adb push <appname>.apk /system/app
    4. luego escribe adb reboot

¿Dónde necesito colocar el archivo .apk en mi proyecto o en las herramientas de la plataforma del paquete adt?
Steve

cópielo en herramientas de plataforma a menos que haya configurado su variable de entorno PATH
insomniac

1
Permiso denegado.
Sanyam Jain

@SanyamJain ¿Resolviste ese problema? Recibo el mismo mensaje, monte: Permiso denegado
Joshua Son

@ JoshuaSon: No, no pude. Y después de leer de varias fuentes, llegué a la conclusión de que podría no valer la pena el esfuerzo, ya que el emulador sigue fallando o esta estrategia no funciona para las próximas versiones de Android.
Corrígeme

2

Puede descargarlo desde un teléfono Android 4.0 y luego montar la imagen del sistema rwy copiarlo.

No lo intenté antes, pero debería funcionar.


No, la cremallera con GAPPS es demasiado grande.
IgorGanapolsky

2

Es simple para mí, descargué el archivo apk en mi computadora y arrastré ese archivo al emulador, instalo Google Play para mí Espero que ayude a alguien


0

Playstore + Servicios de Google Play en Linux (Ubuntu 14.04)


Descargar aplicaciones de Google (GoogleLoginService.apk, GoogleServicesFramework.apk)

desde aquí http://www.securitylearn.net/2013/08/31/google-play-store-on-android-emulator/

y descargue (Phonesky.apk) desde aquí https://basketbuild.com/filedl/devs?dev=dankoman&dl=dankoman/Phonesky.apk

IR A LA UBICACIÓN DEL SDK DE ANDROID >>

cd -Ubicación de herramientas de Android SDK-

PARA EJECUTAR EL EMULADOR >>

Android / Sdk / tools $ ./emulator64-x86 -avd Kitkat -partition-size 566 -no-audio -no-boot-anim

ESTABLECER PERMISOS >>

cd Android / Sdk / platform-tools platform-tools $ adb shell mount -o remontaje, rw -t yaffs2 / dev / block / mtdblock0 / system

plataforma-herramientas $ adb shell chmod 777 / system / app

plataforma-herramientas $ adb push /home/nazmul/Downloads/GoogleLoginService.apk / system / app /.

PUSH PLAY APKS >>

platform-tools $ adb push /home/nazmul/Downloads/GoogleServicesFramework.apk / system / app /. plataforma-herramientas $ adb push /home/nazmul/Downloads/Phonesky.apk / system / app /. plataforma-herramientas $ adb shell rm / system / app / SdkSetup *


El sistema no tiene suficiente espacio para instalar GAPPS.
IgorGanapolsky

-1

¿Alguna vez has probado Genymotion? Lo leí la semana pasada y es genial. Tienen varias imágenes de Android que ejecutas (con su propio software). Las imágenes son INCREÍBLEMENTE rápidas y tienen instalado Google Play. Compruébalo si es el tipo de cosa que necesitas.

http://www.genymotion.com/


genymotion no proporciona máquinas virtuales con un nivel de API inferior a 16
martyglaubitz

Como comentario sobre Genymotion, como consejo para el lector arbitrario: Genymotion usa la plataforma VirtualBox Virtualization. VIrtualBox está diseñado para emular las plataformas de microcontroladores Intel. Debido a esta limitación, es posible que no sea posible emular plataformas de microcontroladores ARM con Genymotion. Esto, por supuesto, puede servir para introducir una pregunta ortogonal, como si, cuándo y por qué puede ser necesario probar beta una aplicación usando un SDK multiplataforma, en cada microconotroller o emulador de microcontrolador posible. ¿La limitación de Intel-virt puede no ser tan preocupante, no en todas las aplicaciones?
Sean Champ
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.