Google Play sur l'émulateur Android 4.0

184

Comment puis-je installer le .apk Google Play sur mon émulateur Android 4.0?

Sarath
la source
1
Remarque: les commentaires ont des résultats mitigés, donc votre kilométrage peut varier
amb
mais c'est la même chose avec les autres versions d'émulateur, et cela a fonctionné là-bas alors pourquoi cela ne devrait pas fonctionner dans 4.x? :)
reox

Réponses:

259

Téléchargez les applications Google (GoogleLoginService.apk, GoogleServicesFramework.apk, Phonesky.apk) à
partir d' ici .

Démarrez votre émulateur:

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

Utilisez ensuite les commandes suivantes:

# 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
la source
21
Remarque: Vending.apk s'appelle Phonesky.apk dans les dernières versions
Catalin Morosan
9
L'URL est cassée :(
TheDude
16
le paramètre -partition-size est important, sans cela, j'ai eu l'exception OutOfMemory en poussant les apks
mike
12
Je pense que cette réponse devrait être la réponse acceptée. Après tout, c'est une vraie réponse, la réponse actuellement acceptée (11/11/2013) est seulement un "briser l'eula est comme une mauvaise chose, hein?" type de commentaire.
chris-l
4
Suis-je le seul à ne pas pouvoir faire fonctionner cela? Sur les émulateurs 4.4 et 5.0, l'ajout des APK n'affiche pas l'icône Play Store et adb rebootse bloque simplement.
Nate
85

Pour les futurs visiteurs.

À partir de maintenant, la plate-forme Android 4.2.2 comprend les services Google Play. Utilisez simplement un émulateur exécutant Jelly Bean. Les détails peuvent être trouvés ici:

Configurer le SDK des services Google Play

ÉDITER:

Une autre option consiste à utiliser Genymotion (fonctionne beaucoup plus rapidement)

MODIFIER 2:

Comme @ gdw2 l'a commenté: "la configuration du SDK des services Google Play n'installe pas une application Google Play fonctionnelle - elle active uniquement certains services fournis par le SDK"

Après la version 2.0, Genymotion n'est pas livré avec les services de lecture par défaut, mais il peut être facilement installé manuellement. Téléchargez simplement la bonne version à partir d' ici et glissez-déposez dans l'appareil virtuel (émulateur).

Androiderson
la source
1
@quinestor yes it does
Androiderson
6
Sainte mère! Genymotion est suweet!
Ross Hambrick
6
@ Exception-al Je pense que vous devriez mettre à jour votre réponse pour préciser que la configuration du SDK des services Google Play n'installe pas une application Google Play fonctionnelle - elle active simplement certains services fournis par le SDK.
gdw2
1
+1 pour avoir suggéré Genymotion !!! Je ne savais pas que ça existait et maintenant je ne peux plus m'en passer. Il fonctionne parfaitement avec Android Studio (il suffit d'ajouter le plugin) et maintenant je peux faire mes débuts avec mes applications Google Maps V2 sans avoir recours à de «vrais» appareils! Mille mercis!
Loudenvier
1
@SeanChamp bon point mais les tests finaux devraient toujours être sur un vrai appareil
Androiderson
27

Je le fais de manière plus permanente - au lieu d'installer les APK à chaque fois avec adb , ajoutez-les de manière permanente à l'image système que l'émulateur utilise. Vous aurez besoin de Yaffey sous Windows, ou d'un utilitaire similaire sur d'autres systèmes, pour modifier les images YAFFS2. Copiez GoogleLoginService.apk, GoogleServicesFramework.apket Phonesky.apk(ou Vending.apkdans les anciennes versions d'Android) dans le /system/appdossier dusystem.img fichier de l'émulateur. Ensuite, je peux démarrer l'émulateur normalement, sans jouer avec adb, et le Play Store est toujours là.

Obtenir l'application Google Play à partir de votre appareil

Le téléchargement de Google Apps à partir d'un site Internet peut ne pas être tout à fait légal, mais si vous avez un téléphone ou une tablette avec une version Android correspondante, retirez-les simplement de votre appareil:

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

Vous devez disposer d'un accès au niveau racine (exécutez adb root) sur l'appareil pour pouvoir en extraire ces fichiers.

L'ajouter à l'image

Maintenant commence yaffey sous Windows ou un utilitaire similaire sur Linux ou Mac, et ouvrez system.imgl'image de l'émulateur que vous souhaitez modifier. Je modifie le plus souvent celui du [...]\android-sdk\system-images\android-17\x86.

Renommez l'original system.imgensystem-original.img . Sous yaffey, copiez les fichiers APK que vous avez extraits de votre appareil dans le dossier / app. Enregistrez votre image modifiée system.imgdans le dossier d'origine. Ensuite, démarrez votre émulateur (dans mon cas, ce serait un émulateur Android 4.2 avec un processeur Intel Atom fonctionnant sous Intel HAX, ultra-rapide sur les machines Windows) et vous aurez le Play Store. Je n'ai pas jugé nécessaire de supprimer SdkSetup.apket SdkSetup.odex- le Play Store et d'autres services fonctionnent toujours bien pour moi avec ces fichiers présents.

Lorsque vous avez terminé vos tests, pour alléger votre conscience coupable d'avoir piraté temporairement les applications Google depuis votre appareil, vous pouvez supprimer le modifié system.imget restaurer l'original à partir de system-original.img.

Gregko
la source
5
Il ne semble pas y avoir d'éditeur YAFF2 fonctionnel pour Linux - mais heureusement, il s'avère qu'avec un changement d'une ligne, Yaffey se compile et s'exécute sous Linux. J'ai publié les étapes que j'ai utilisées sur cette question Ask Ubuntu.
Escargot mécanique
Les +1 sont bien trop moindres pour le bonheur du moment aha. StackOverflow devrait avoir un bouton kiss-cos-ur-so-happy-button :)
Abhishek Susarla
J'ai pu extraire les trois fichiers APK d'un téléphone Android 4.1.2 sans racine, mais je travaille toujours à les installer ailleurs.
bonh
Une alternative yaffey pour Mac?
Olcay Ertaş
1
@ OlcayErtaş Mac Yaffey: github.com/danielkutik/yaffey . Construit un Yaffey.app, fonctionne parfaitement sur mon Yosemite.
Xiao
4
  1. Téléchargez le package gapps depuis http://goo.im/gapps
  2. extraire GoogleLoginService.apk, GoogleServicesFramework.apk et Vending.apk Aller au type de fenêtre cmd adb shell
    1. sur le type de coque mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    2. puis appuyez sur Ctrl + c pour quitter. cd dans le répertoire où apks a été extrait,
    3. type adb push <appname>.apk /system/app
    4. puis tapez adb reboot
insomniaque
la source
Où dois-je placer le fichier .apk? Dans mes outils de plate-forme de projet ou de bundle adt?
Steve
copiez-le dans platform-tools sauf si vous avez défini votre variable d'environnement PATH
insomniac
1
Permission refusée.
Sanyam Jain
@SanyamJain Avez-vous résolu ce problème? Je reçois le même message, montez: Permission refusée
Joshua Son
@JoshuaSon: Non, je ne pourrais pas. Et après avoir lu diverses sources, je suis arrivé à la conclusion que cela ne valait peut-être pas la peine, car l'émulateur continue de planter ou cette stratégie ne fonctionne pas pour les versions à venir d'Android. Corrigez-moi si je me trompe :)
Sanyam Jain
2

Vous pouvez le télécharger à partir d'un téléphone Android 4.0, puis monter l'image système rwet la copier.

Je n'ai pas essayé avant mais cela devrait fonctionner.

réox
la source
Non, le zip avec GAPPS est trop gros.
IgorGanapolsky
2

C'est simple pour moi, j'ai téléchargé le fichier apk sur mon ordinateur et faites glisser ce fichier vers l'émulateur, il installe le jeu Google pour moi, j'espère que cela aidera quelqu'un

Muhammad Asif Javed
la source
0

Playstore + Services Google Play sous Linux (Ubuntu 14.04)


Téléchargez des applications Google (GoogleLoginService.apk, GoogleServicesFramework.apk)

à partir d'ici http://www.securitylearn.net/2013/08/31/google-play-store-on-android-emulator/

et téléchargez (Phonesky.apk) à partir d'ici https://basketbuild.com/filedl/devs?dev=dankoman&dl=dankoman/Phonesky.apk

ACCÉDER À L'EMPLACEMENT DU SDK ANDROID >>

cd-Emplacement des outils du SDK Android-

POUR EXÉCUTER L'ÉMULATEUR >>

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

DÉFINIR LES PERMISSIONS >>

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

plateforme-outils $ adb shell chmod 777 / système / app

platform-tools $ adb push /home/nazmul/Downloads/GoogleLoginService.apk / system / app /.

PUSH PLAY APKS >>

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

Nazmul
la source
Le système n'a pas assez d'espace pour installer GAPPS.
IgorGanapolsky
-1

Avez-vous déjà essayé Genymotion? J'en ai lu la semaine dernière et c'est génial. Ils ont plusieurs images Android que vous exécutez (avec leur propre logiciel). Les images sont incroyablement rapides et Google Play y est installé. Vérifiez-le si c'est le genre de chose dont vous avez besoin.

http://www.genymotion.com/

Oliver Drummond
la source
genymotion ne fournit pas de VM avec un niveau d'API inférieur à 16
martyglaubitz
En commentaire sur Genymotion, en conseil au lecteur arbitraire: Genymotion utilise la plateforme de virtualisation VirtualBox. VIrtualBox est conçu pour émuler les plates-formes de microcontrôleurs Intel. En raison de cette limitation, il peut ne pas être possible d'émuler les plates-formes de microcontrôleur ARM avec Genymotion. Ceci, bien sûr, peut servir à introduire une question orthogonale, comme si, quand et pourquoi il peut être nécessaire de tester une application en utilisant un SDK multiplateforme, sur chaque microconotrôleur ou émulateur de microcontrôleur possible. La limitation Intel-virt n'est peut-être pas aussi préoccupante, pas dans toutes les applications?
Sean Champ