Emulatore di Google Play su Android 4.0


184

Come posso installare Google Play .apk sul mio emulatore Android 4.0?


1
Nota: i commenti hanno risultati contrastanti, quindi il tuo chilometraggio può variare
amb

ma è lo stesso con altre versioni di emulatore, e ha funzionato lì, quindi perché non dovrebbe funzionare in 4.x? :)
reox il

Risposte:


259

Scarica le app di Google (GoogleLoginService.apk, GoogleServicesFramework.apk, Phonesky.apk)
da qui .

Avvia il tuo emulatore:

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

Quindi utilizzare i seguenti comandi:

# 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 si chiama Phonesky.apk nelle ultime versioni
Catalin Morosan,

9
L'URL è rotto :(
TheDude

16
il parametro -partition-size è importante, senza di esso ho ottenuto l'eccezione OutOfMemory mentre spingevo gli apks
mike

12
Penso che questa risposta dovrebbe essere la risposta accettata. Dopotutto, questa è una risposta reale, l'attuale risposta accettata (11/11/2013) è solo un "rompere l'eula è come una cosa cattiva, okay?" tipo di commento.
chris-l,

4
Sono l'unico non in grado di farlo funzionare? Su entrambi gli emulatori 4.4 e 5.0, l'aggiunta degli APK non mostra l'icona del Play Store e si adb rebootblocca.
Nate

85

Per i futuri visitatori.

A partire da ora la piattaforma Android 4.2.2 include i servizi di Google Play. Basta usare un emulatore con Jelly Bean. I dettagli sono disponibili qui:

Imposta l'SDK di Google Play Services

MODIFICARE:

Un'altra opzione è usare Genymotion (corre molto più velocemente)

MODIFICA 2:

Come ha commentato @ gdw2: "la configurazione dell'SDK di Google Play Services non installa un'app Google Play funzionante, ma abilita solo determinati servizi forniti dall'SDK"

Dopo la versione 2.0 Genymotion non viene fornito con Play Services per impostazione predefinita, ma può essere facilmente installato manualmente. Basta scaricare la versione giusta da qui e trascinarla nel dispositivo virtuale (emulador).


1
@quinestor sì, lo fa
Androiderson,

6
Santa Madre! Genymotion è dolce!
Ross Hambrick,

6
@ Exception-al Penso che dovresti aggiornare la tua risposta per chiarire che la configurazione dell'SDK di Google Play Services non installa un'app Google Play funzionante, ma abilita solo determinati servizi forniti dall'SDK.
gdw2,

1
+1 per aver suggerito Genymotion !!! Non sapevo che esistesse e ora non posso vivere senza di essa. Funziona perfettamente con Android Studio (basta aggiungere il plug-in) e ora posso debuttare le mie app Google Maps V2 senza ricorrere a dispositivi "reali"! Grazie mille!
Loudenvier,

1
@SeanChamp buon punto ma i test finali dovrebbero sempre essere su un dispositivo reale
Androiderson

27

Lo faccio in un modo più permanente - invece di installare gli APK ogni volta con adb, li aggiungo permanentemente all'immagine di sistema che utilizza l'emulatore. Sarà necessario Yaffey su Windows o un'utilità simile su altri sistemi per modificare le immagini YAFFS2. Copia GoogleLoginService.apk, GoogleServicesFramework.apke Phonesky.apk(o Vending.apknelle versioni precedenti di Android) nella /system/appcartella del system.imgfile dell'emulatore. Successivamente posso avviare l'emulatore normalmente, senza fare confusione con adb, e Play Store è sempre lì.

Ottenere l'app Google Play dal tuo dispositivo

Il download di Google Apps da alcuni siti Internet potrebbe non essere del tutto legale, ma se hai un telefono o un tablet con una versione Android corrispondente, basta estrarli dal tuo 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

È necessario disporre dell'accesso a livello di root (eseguire adb root) al dispositivo per estrarre questi file da esso.

Aggiungendolo all'immagine

Ora avvia yaffeyWindows o un'utilità simile su Linux o Mac e apri system.imgl'immagine dell'emulatore che desideri modificare. Modifica più spesso quello in [...]\android-sdk\system-images\android-17\x86.

Rinomina l'originale system.imgin system-original.img. Sotto yaffey, copia i file APK estratti dal dispositivo nella cartella / app. Salva l'immagine modificata come system.imgnella cartella originale. Quindi avvia il tuo emulatore (nel mio caso sarebbe l'emulatore Android 4.2 con processore Intel Atom in esecuzione su Intel HAX, superveloce su macchine Windows) e avrai Play Store lì. Non ho trovato necessario eliminare SdkSetup.apke SdkSetup.odex- il Play Store e altri servizi funzionano ancora bene per me con questi file presenti.

Al termine dei test, per alleviare la tua coscienza colpevole di piratare temporaneamente Google Apps dal tuo dispositivo, puoi eliminare la modifica system.imge ripristinare l'originale system-original.img.


5
Sembra che non ci sia un editor YAFF2 funzionante per Linux, ma fortunatamente, si scopre che con un cambio di una riga, Yaffey si compila e gira su Linux. Ho pubblicato i passaggi che ho usato per questa domanda di Ubuntu.
Lumaca meccanica

I +1 sono decisamente meno per la felicità di ogni momento. StackOverflow dovrebbe avere un pulsante di bacio-cos-ur-così-felice :)
Abhishek Susarla,

Sono stato in grado di estrarre i tre APK da un telefono Android 4.1.2 senza root, ma sto ancora lavorando per installarli da qualche altra parte.
bonh,

Qualche alternativa yaffey per Mac?
Olcay Ertaş,

1
@ OlcayErtaş Mac Yaffey: github.com/danielkutik/yaffey . Costruisce un Yaffey.app, funziona perfettamente sul mio Yosemite.
Xiao,

4
  1. Scarica il pacchetto gapps da http://goo.im/gapps
  2. estrarre GoogleLoginService.apk, GoogleServicesFramework.apk e Vending.apk Vai al tipo di finestra cmd adb shell
    1. sul tipo di shell mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    2. quindi premere Ctrl + c per uscire. cd nella directory in cui è stato estratto apks,
    3. genere adb push <appname>.apk /system/app
    4. quindi digitare adb reboot

Dove devo posizionare il file .apk. Nel mio progetto o strumenti della piattaforma bundle adt?
Steve,

copiarlo su strumenti-piattaforma a meno che non sia stata impostata la variabile ambientale PATH
insonnia

1
Permesso negato.
Sanyam Jain,

@SanyamJain Hai risolto questo problema? Ricevo lo stesso messaggio, mount: Autorizzazione negata
Joshua Son

@JoshuaSon: No, non ho potuto. E dopo aver letto da varie fonti sono giunto alla conclusione che potrebbe non valere la pena, poiché l'emulatore continua a bloccarsi o questa strategia non funziona per le prossime versioni di Android. Correggimi se sbaglio :)
Sanyam Jain,

2

È possibile scaricarlo da un telefono Android 4.0, quindi montare l'immagine di sistema rwe copiarla.

Non l'ho mai provato prima, ma dovrebbe funzionare.


No, la zip con GAPPS è troppo grande.
IgorGanapolsky,

2

È semplice per me ho scaricato il file apk sul mio computer e trascinarlo nell'emulatore per installare il Google Play per me Spero che aiuti qualcuno


0

Playstore + Google Play Services in Linux (Ubuntu 14.04)


Scarica le app di Google (GoogleLoginService.apk, GoogleServicesFramework.apk)

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

e scarica (Phonesky.apk) da qui https://basketbuild.com/filedl/devs?dev=dankoman&dl=dankoman/Phonesky.apk

VAI ALLA POSIZIONE DELL'SDK ANDROID >>

cd -Android SDK's tools Posizione-

PER ESEGUIRE L'EMULATORE >>

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

SET PERMESSI >>

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

platform-tools $ adb shell chmod 777 / system / app

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

APK PUSH PLAY >>

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


Il sistema non ha abbastanza spazio per installare GAPPS.
IgorGanapolsky,

-1

Hai mai provato Genymotion? Ne ho letto la scorsa settimana ed è fantastico. Hanno diverse immagini Android che esegui (con il loro software). Le immagini sono incredibilmente veloci e hanno Google Play installato su di esse. Dai un'occhiata se è il tipo di cosa di cui hai bisogno.

http://www.genymotion.com/


genymotion non fornisce alle VM un livello API inferiore a 16
martyglaubitz,

Come commento su Genymotion, consiglia il lettore arbitrario: Genymotion utilizza la piattaforma di virtualizzazione VirtualBox. VIrtualBox è progettato per emulare piattaforme di microcontrollori Intel. A causa di questa limitazione, potrebbe non essere possibile emulare piattaforme di microcontrollori ARM con Genymotion. Questo, ovviamente, può servire a introdurre una domanda ortogonale, come se, quando e perché potrebbe essere necessario testare beta un'app usando un SDK multipiattaforma, su ogni singolo possibile microcontrollore o emulatore di microcontrollore. La limitazione Intel-virt potrebbe non essere tanto una preoccupazione, non in tutte le app?
Sean Champ
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.