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?

Sarath
fuente
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*
Mohan raja
fuente
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).

Androiderson
fuente
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.

Gregko
fuente
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
insomne
fuente
¿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.

reox
fuente
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

Muhammad Asif Javed
fuente
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 *

Nazmul
fuente
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/

Oliver Drummond
fuente
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