Google Play no emulador do Android 4.0

184

Como posso instalar o .apk do Google Play no meu emulador do Android 4.0?

Sarath
fonte
1
Nota: os comentários têm resultados mistos, portanto sua milhagem pode variar
amb 22/06
mas é o mesmo com outras versões do emulador, e funcionou lá. Por que não deveria funcionar no 4.x? :)
Reox

Respostas:

259

Download do Google Apps (GoogleLoginService.apk, GoogleServicesFramework.apk, Phonesky.apk)
a partir de aqui .

Inicie seu emulador:

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

Em seguida, use os seguintes 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
fonte
21
Nota: Vending.apk é chamado Phonesky.apk nos últimos lançamentos
Catalin Morosan
9
URL está quebrado :(
TheDude
16
o -partition-size param é importante, sem ele eu tenho exceção OutOfMemory enquanto empurra os apks
mike
12
Eu acho que essa resposta deve ser a resposta aceita. Afinal, esta é uma resposta real, a atual resposta aceita (11/11/2013) é apenas uma "quebrar a eula é como uma coisa ruim, está bem?" tipo de comentário.
chris-l
4
Eu sou o único incapaz de fazer isso funcionar? Nos emuladores 4.4 e 5.0, adicionar os APKs não mostra o ícone da Play Store e adb rebootapenas trava.
Nate
85

Para futuros visitantes.

A partir de agora, a plataforma Android 4.2.2 inclui serviços do Google Play. Basta usar um emulador executando o Jelly Bean. Detalhes podem ser encontrados aqui:

Configurar o SDK do Google Play Services

EDITAR:

Outra opção é usar o Genymotion (corre muito mais rápido)

EDIT 2:

Como o @ gdw2 comentou: "a configuração do SDK do Google Play Services não instala um aplicativo do Google Play que funcione - apenas habilita determinados serviços fornecidos pelo SDK"

Após a versão 2.0, o Genymotion não vem com o Play Services por padrão, mas pode ser facilmente instalado manualmente. Basta baixar a versão correta a partir daqui e arrastar e soltar no dispositivo virtual (emulador).

Androiderson
fonte
1
@quinestor sim ele faz
Androiderson
6
Santa Mãe! Genymotion é suweet!
21713 Ross Hambrick
6
@ Excepcionalmente, acho que você deve atualizar sua resposta para esclarecer que a configuração do SDK do Google Play Services não instala um aplicativo do Google Play que funcione - apenas habilita determinados serviços fornecidos pelo SDK.
Gdw2 #
1
+1 por sugerir Genymotion !!! Eu não sabia que existia e agora não posso viver sem ela. Ele funciona perfeitamente com o Android Studio (basta adicionar o plug-in) e agora posso estrear meus aplicativos do Google Maps V2 sem recorrer a dispositivos "reais"! Graças um milhão!
Loudenvier 19/10/2013
1
@SeanChamp bom ponto, mas os testes finais devem sempre estar em um dispositivo real #
Androiderson
27

Eu faço isso de uma maneira mais permanente - em vez de instalar os APKs sempre adb, adicione-os permanentemente à imagem do sistema que o emulador usa. Você precisará do Yaffey no Windows ou de um utilitário semelhante em outros sistemas para modificar as imagens do YAFFS2. Copie GoogleLoginService.apk, GoogleServicesFramework.apke Phonesky.apk(ou Vending.apkem versões anteriores do Android) para a /system/apppasta do system.imgarquivo do emulador. Depois, posso iniciar o emulador normalmente, sem mexer com o adb, e a Play Store está sempre lá.

Obtendo o aplicativo Google Play do seu dispositivo

O download do Google Apps de algum site da Internet pode não ser muito legal, mas se você tiver um telefone ou tablet com uma versão correspondente do Android, basta retirá-los do seu 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

Você deve ter acesso no nível da raiz (execute adb root) ao dispositivo para obter esses arquivos.

Adicionando à imagem

Agora inicie yaffeyno Windows ou em um utilitário semelhante no Linux ou Mac e abra system.imga imagem do emulador que você deseja modificar. Eu modifico com mais freqüência o que está dentro [...]\android-sdk\system-images\android-17\x86.

Renomeie o original system.imgpara system-original.img. Em yaffey, copie os arquivos APK que você puxou do seu dispositivo para a pasta / app. Salve sua imagem modificada como system.imgna pasta original. Em seguida, inicie o seu emulador (no meu caso, seria o emulador Android 4.2 com o processador Intel Atom rodando no Intel HAX, super rápido nas máquinas Windows) e você terá a Play Store lá. Não achei necessário excluir SdkSetup.apke SdkSetup.odex- a Play Store e outros serviços ainda funcionam bem para mim com esses arquivos presentes.

Quando terminar o teste, para aliviar a sua consciência de piratear temporariamente o Google Apps do seu dispositivo, você pode excluir o modificado system.imge restaurar o original system-original.img.

gregko
fonte
5
Parece não haver um editor YAFF2 para Linux funcionando - mas, felizmente, acontece que com uma alteração em uma linha, o próprio Yaffey compila e executa no Linux. Postei as etapas que usei nesta pergunta do Ubuntu.
Caracol mecânico
+ 1s são demasiado menos para a felicidade aha- momento .. StackOverflow deve ter um-ur-so-feliz-button beijo-cos :)
Abhishek Susarla
Consegui extrair os três APKs de um telefone Android 4.1.2 sem raiz, mas ainda estou trabalhando para instalá-los em outro lugar.
bonh
Alguma alternativa yaffey para Mac?
Olcay Ertaş
1
@ OlcayErtaş Mac Yaffey: github.com/danielkutik/yaffey . Cria um Yaffey.app, funciona perfeitamente no meu Yosemite.
Xiao
4
  1. Faça o download do pacote gapps em http://goo.im/gapps
  2. extrair GoogleLoginService.apk, GoogleServicesFramework.apk e Vending.apk Vá para o tipo de janela cmd adb shell
    1. no tipo de casca mount -o rw,remount -t yaffs2 /dev/block/mtdblock3 /system
    2. depois pressione Ctrl + c para sair. cd para o diretório em que os aplicativos foram extraídos,
    3. tipo adb push <appname>.apk /system/app
    4. então digite adb reboot
insone
fonte
Onde eu preciso colocar o arquivo .apk. No meu projeto ou ferramentas de plataforma de pacote adt?
Steve Steve
copiá-lo para platform-tools menos que tenha definido a variável ambiental PATH
insone
1
Permissão negada.
Sanyam Jain
@SanyamJain Você resolveu esse problema? Recebo a mesma mensagem, monte: Permissão negada
Joshua Son
@ JoshuaSon: Não, eu não poderia. E depois de ler de várias fontes, cheguei à conclusão de que pode não valer a pena, pois o emulador continua travando ou essa estratégia não funciona nas próximas versões do Android. Corrija-me se estou errado :)
Sanyam Jain
2

Você pode baixá-lo de um telefone Android 4.0, montar a imagem do sistema rwe copiá-la.

Não tentei antes, mas deve funcionar.

reox
fonte
Não, o zip com o GAPPS é muito grande.
IgorGanapolsky
2

É simples para mim eu baixei o arquivo apk no meu computador e arraste esse arquivo para emulá-lo instale o google play para mim Espero que ajude alguém

Muhammad Asif Javed
fonte
0

Playstore + Serviços do Google Play no Linux (Ubuntu 14.04)


Baixe aplicativos do Google (GoogleLoginService.apk, GoogleServicesFramework.apk)

a partir daqui http://www.securitylearn.net/2013/08/31/google-play-store-on-android-emulator/

e faça o download (Phonesky.apk) aqui https://basketbuild.com/filedl/devs?dev=dankoman&dl=dankoman/Phonesky.apk

IR PARA O LOCAL DO ANDROID SDK >>

cd - Ferramentas do Android SDK Location-

PARA EXECUTAR O EMULADOR >>

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

PERMISSÕES DE SET >>

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

ferramentas de plataforma $ adb shell chmod 777 / system / app

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

APKs >>

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

Nazmul
fonte
O sistema não possui espaço suficiente para instalar o GAPPS.
IgorGanapolsky
-1

Você já experimentou o Genymotion? Eu li sobre isso na semana passada e é ótimo. Eles têm várias imagens do Android que você executa (com seu próprio software). As imagens são incrivelmente rápidas e têm o Google Play instalado. Verifique se é o tipo de coisa que você precisa.

http://www.genymotion.com/

Oliver Drummond
fonte
genymotion não fornece VMs com nível API inferior a 16
martyglaubitz
Como um comentário sobre o Genymotion, informe ao leitor arbitrário: O Genymotion usa a plataforma VirtualBox Virtualization. O VIrtualBox foi projetado para simular plataformas de microcontroladores Intel. Devido a essa limitação, pode não ser possível emular plataformas de microcontroladores ARM com Genymotion. Isso, é claro, pode servir para introduzir uma pergunta ortogonal, como se, quando e por que pode ser necessário testar beta um aplicativo usando um SDK de plataforma cruzada, em cada microcontrolador ou emulador de microcontrolador possível. A limitação virt-Intel pode não ser uma preocupação, nem em todos os aplicativos?
Sean Champ