Google Play auf Android 4.0 Emulator

184

Wie kann ich Google Play .apk auf meinem Android 4.0-Emulator installieren?

Sarath
quelle
1
Hinweis: Kommentare haben gemischte Ergebnisse, so die Leistung kann variieren
amb
Aber es ist dasselbe mit anderen Emulatorversionen, und es hat dort funktioniert. Warum sollte es in 4.x nicht funktionieren? :)
Reox

Antworten:

259

Download Google Apps (GoogleLoginService.apk, GoogleServicesFramework.apk, Phonesky.apk)
von hier .

Starten Sie Ihren Emulator:

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

Verwenden Sie dann die folgenden Befehle:

# 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
quelle
21
Hinweis: Vending.apk heißt in den neuesten Versionen
Phonesky.apk
9
URL ist kaputt :(
TheDude
16
Der Parameter -partition-size ist wichtig, ohne ihn habe ich beim Drücken der apks eine OutOfMemory-Ausnahme erhalten
mike
12
Ich denke, diese Antwort sollte die akzeptierte Antwort sein. Immerhin ist dies eine tatsächliche Antwort, die aktuell akzeptierte Antwort (11.11.2013) ist nur ein "Brechen der Eula ist wie eine schlechte Sache, m'kay?" Art des Kommentars.
Chris-l
4
Bin ich der einzige, der das nicht zum Laufen bringen kann? Sowohl auf 4.4- als auch auf 5.0-Emulatoren wird beim Hinzufügen der APKs das Play Store-Symbol nicht angezeigt und es bleibt adb rebootnur hängen.
Nate
85

Für zukünftige Besucher.

Ab sofort enthält die Android 4.2.2-Plattform Google Play-Dienste. Verwenden Sie einfach einen Emulator mit Jelly Bean. Details finden Sie hier:

Richten Sie das Google Play Services SDK ein

BEARBEITEN:

Eine andere Option ist die Verwendung von Genymotion (läuft viel schneller)

EDIT 2:

Wie @ gdw2 kommentierte: "Beim Einrichten des Google Play Services SDK wird keine funktionierende Google Play App installiert, sondern nur bestimmte vom SDK bereitgestellte Dienste aktiviert."

Nach Version 2.0 wird Genymotion standardmäßig nicht mit Play Services geliefert, kann jedoch einfach manuell installiert werden. Laden Sie einfach die richtige Version von hier herunter und ziehen Sie sie per Drag & Drop auf das virtuelle Gerät (Emulador).

Androiderson
quelle
1
@quinestor ja, das tut es
Androiderson
6
Heilige Mutter! Genymotion ist süß!
Ross Hambrick
6
@ Exception-al Ich denke, Sie sollten Ihre Antwort aktualisieren, um zu verdeutlichen, dass beim Einrichten des Google Play Services-SDK keine funktionierende Google Play-App installiert wird, sondern nur bestimmte vom SDK bereitgestellte Dienste aktiviert werden.
GDW2
1
+1 für den Vorschlag von Genymotion !!! Ich wusste nicht, dass es existiert und jetzt kann ich nicht ohne es leben. Es funktioniert einwandfrei mit Android Studio (fügen Sie einfach das Plugin hinzu) und jetzt kann ich meine Google Maps V2-Apps debütieren, ohne auf "echte" Geräte zurückgreifen zu müssen! Tausend Dank!
Loudenvier
1
@ SeanChamp guter Punkt, aber endgültige Tests sollten immer auf einem realen Gerät sein
Androiderson
27

Ich mache das auf eine dauerhaftere Art und Weise - anstatt die APKs jedes Mal mit zu installieren adb, füge sie permanent dem System-Image hinzu, das der Emulator verwendet. Sie benötigen Yaffey unter Windows oder ein ähnliches Dienstprogramm auf anderen Systemen, um YAFFS2-Images zu ändern. Kopieren GoogleLoginService.apk, GoogleServicesFramework.apkund Phonesky.apk(oder Vending.apkin älteren Versionen von Android) auf den /system/appOrdner der system.imgDatei des Emulators. Danach kann ich den Emulator normal starten, ohne mit adb herumzuspielen, und der Play Store ist immer da.

Beziehen Sie die Google Play-App von Ihrem Gerät

Das Herunterladen von Google Apps von einer Internetseite ist möglicherweise nicht ganz legal. Wenn Sie jedoch ein Telefon oder Tablet mit einer entsprechenden Android-Version haben, ziehen Sie diese einfach von Ihrem Gerät:

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

Sie müssen über Root-Zugriff (Ausführen von adb root) auf das Gerät verfügen , um diese Dateien daraus abrufen zu können.

Hinzufügen zum Bild

Starten Sie nun yaffeyunter Windows oder einem ähnlichen Dienstprogramm unter Linux oder Mac und öffnen Sie system.imgdas Emulator-Image, das Sie ändern möchten. Ich ändere am häufigsten die in [...]\android-sdk\system-images\android-17\x86.

Benennen Sie das Original system.imgin um system-original.img. Kopieren Sie unter yaffey die APK-Dateien, die Sie von Ihrem Gerät abgerufen haben, in den Ordner / app. Speichern Sie Ihr geändertes Bild wie system.imgim Originalordner. Starten Sie dann Ihren Emulator (in meinem Fall wäre es ein Android 4.2-Emulator mit Intel Atom-Prozessor unter Intel HAX, superschnell auf Windows-Computern) und Sie haben dort den Play Store. Ich fand es nicht notwendig zu löschen SdkSetup.apkund SdkSetup.odex- der Play Store und andere Dienste funktionieren für mich immer noch gut, wenn diese Dateien vorhanden sind.

Wenn Sie mit Ihren Tests fertig sind, können Sie das Geänderte löschen system.imgund das Original von wiederherstellen , um Ihr Gewissen zu entlasten, das vorübergehend die Google Apps von Ihrem Gerät raubkopiert hat system-original.img.

Gregko
quelle
5
Es scheint keinen funktionierenden YAFF2-Editor für Linux zu geben - aber glücklicherweise stellt sich heraus, dass Yaffey bei einer einzeiligen Änderung selbst unter Linux kompiliert und ausgeführt wird. Veröffentlichte die Schritte, die ich bei dieser Frage zu Ubuntu gestellt habe.
Mechanische Schnecke
+ 1s sind viel zu wenig für das Aha-Moment-Glück. StackOverflow sollte einen Kuss-cos-ur-so-happy-Knopf haben :)
Abhishek Susarla
Ich konnte die drei APKs von einem Android 4.1.2-Telefon ohne Root entfernen, arbeite aber immer noch daran, sie an einem anderen Ort zu installieren.
Bonh
Irgendeine Yaffey-Alternative für Mac?
Olcay Ertaş
1
@ OlcayErtaş Mac Yaffey: github.com/danielkutik/yaffey . Erstellt eine Yaffey.app, funktioniert perfekt auf meinem Yosemite.
Xiao
4
  1. Laden Sie das gapps-Paket von http://goo.im/gapps herunter
  2. Extrahieren von GoogleLoginService.apk, GoogleServicesFramework.apk und Vending.apk Wechseln Sie zum Fenstertyp cmd adb shell
    1. auf dem Shell-Typ mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    2. Drücken Sie dann Strg + C, um den Vorgang zu beenden. cd in das Verzeichnis, in das apks extrahiert wurde,
    3. Art adb push <appname>.apk /system/app
    4. Geben Sie dann ein adb reboot
Schlaflosigkeit
quelle
Wo muss ich die APK-Datei ablegen? In meinen Projekt- oder ADT-Bundle-Plattform-Tools?
Steve
Kopieren Sie es auf Plattform-Tools, es sei denn, Sie haben Ihre Umgebungsvariable PATH festgelegt
Insomniac
1
Zugang verweigert.
Sanyam Jain
@SanyamJain Hast du das Problem gelöst? Ich bekomme die gleiche Nachricht, mount: Erlaubnis verweigert
Joshua Son
@ JoshuaSon: Nein, ich konnte nicht. Und nachdem ich aus verschiedenen Quellen gelesen hatte, kam ich zu dem Schluss, dass sich die Mühe möglicherweise nicht lohnt, da der Emulator immer wieder abstürzt oder diese Strategie für kommende Android-Versionen nicht funktioniert. Korrigieren Sie mich, wenn ich falsch
liege
2

Sie können es von einem Android 4.0-Telefon herunterladen, das System-Image bereitstellen rwund kopieren.

Ich habe es noch nie versucht, aber es sollte funktionieren.

reox
quelle
Nein, der Reißverschluss mit GAPPS ist zu groß.
IgorGanapolsky
2

Es ist einfach für mich, ich habe die apk-Datei auf meinen Computer heruntergeladen und diese Datei in den Emulator gezogen, um das Google Play für mich zu installieren. Ich hoffe, es hilft jemandem

Muhammad Asif Javed
quelle
0

Playstore + Google Play Services unter Linux (Ubuntu 14.04)


Google Apps herunterladen (GoogleLoginService.apk, GoogleServicesFramework.apk)

von hier http://www.securitylearn.net/2013/08/31/google-play-store-on-android-emulator/

und Download (Phonesky.apk) von hier https://basketbuild.com/filedl/devs?dev=dankoman&dl=dankoman/Phonesky.apk

GEHE ZU ANDROID SDK LOCATION >>

cd -Android SDK's Tools Standort-

EMULATOR LAUFEN >>

Android / Sdk / tools $ ./emulator64-x86 -avd Kitkat -partitionsgröße 566 -no-audio -no-boot-anim

EINSTELLUNGEN EINSTELLEN >>

cd Android / Sdk / Plattform-Tools Plattform-Tools $ adb Shell-Mount -o Remount, rw -t yaffs2 / dev / block / mtdblock0 / system

Plattform-Tools $ adb Shell chmod 777 / System / App

Plattform-Tools $ adb push /home/nazmul/Downloads/GoogleLoginService.apk / system / app /.

PUSH PLAY APKS >>

Plattform-Tools $ adb push /home/nazmul/Downloads/GoogleServicesFramework.apk / system / app /. Plattform-Tools $ adb push /home/nazmul/Downloads/Phonesky.apk / system / app /. Plattform-Tools $ adb Shell rm / system / app / SdkSetup *

Nazmul
quelle
Das System verfügt nicht über genügend Speicherplatz, um GAPPS zu installieren.
IgorGanapolsky
-1

Haben Sie schon einmal Genymotion ausprobiert? Ich habe letzte Woche darüber gelesen und es ist großartig. Sie haben mehrere Android-Images, die Sie ausführen (mit ihrer eigenen Software). Die Bilder sind UNGLAUBLICH schnell und auf ihnen ist Google Play installiert. Überprüfen Sie, ob es das ist, was Sie brauchen.

http://www.genymotion.com/

Oliver Drummond
quelle
Genymotion bietet VMs keine API-Stufe unter 16
Martyglaubitz
Als Kommentar zu Genymotion als Hinweis für den beliebigen Leser: Genymotion verwendet die VirtualBox Virtualization-Plattform. VIrtualBox wurde entwickelt, um Intel-Mikrocontroller-Plattformen zu emulieren. Aufgrund dieser Einschränkung ist es möglicherweise nicht möglich, ARM-Mikrocontroller-Plattformen mit Genymotion zu emulieren. Dies kann natürlich dazu dienen, eine orthogonale Frage zu stellen, ob, wann und warum es erforderlich sein kann, eine App mit einem plattformübergreifenden SDK auf jedem einzelnen möglichen Mikrocontroller oder Mikrocontroller-Emulator zu testen. Die Intel-Virt-Einschränkung ist möglicherweise nicht so wichtig, nicht in allen Apps?
Sean Champ