Selecionei este emulador da versão mais recente do Android Studio AVD.
Selecionei a versão mais recente da API do Android 23. Como diz "com APIs do Google", pensei que incluiria todos os aplicativos do Google, incluindo a Play Store, para que eu pudesse instalar aplicativos como o Facebook.
Eu vi outros tópicos no SO que parecem estar desatualizados agora ( Como instalar o aplicativo Google Play no emulador do Android Studio? ), Este dá instruções para instalar aplicativos do Google com base em pacotes universais, mas só vai até o Android 4.3 API 18: http://wiki.rootzwiki.com/Google_Apps#Universal_Packages_2
Eu gostaria do API 23. Existe uma maneira de instalar o pacote do Google Apps no emulador?
Parece estranho que o emulador oficial do Android não venha padrão com todos os aplicativos do Google em primeiro lugar ... Isso não parece muito favorável ao Google e poderia significar que os desenvolvedores teriam que comprar dispositivos reais para desenvolver para API 23 ?
Respostas:
Tive que fazer isso recentemente no emulador API 23 e segui este guia . Ele funciona para o emulador API 23, então você não deve ter problemas.
Observação: todo o crédito vai para o autor da postagem do blog vinculada (pyoor). Só estou postando aqui para o caso de o link quebrar por algum motivo.
....
Baixe o pacote GAPPS
Em seguida, precisamos obter o pacote apropriado do Google Apps que corresponda à nossa versão AVD do Android. Neste caso, usaremos o pacote 'gapps-lp-20141109-signed.zip'. Você pode baixar esse arquivo do BasketBuild aqui .
Para instalar o Google Play, precisaremos enviar os seguintes 4 APKs para nosso AVD (localizado em ./system/priv-app/):
GmsCore.apk, GoogleServicesFramework.apk, GoogleLoginService.apk, Phonesky.apk
Envie APKs para o emulador
Com nossos APKs extraídos, vamos lançar nosso AVD usando o seguinte comando.
Isso pode levar vários minutos na primeira vez que o AVD é criado. Uma vez iniciado, precisamos remontar a partição do sistema AVDs como leitura / gravação para que possamos enviar nossos pacotes para o dispositivo.
Em seguida, envie os APKs para nosso AVD:
Lucro!
E, finalmente, reinicie o emualador usando os seguintes comandos:
Assim que o emulador for reiniciado, devemos ver o pacote do Google Play aparecer no inicializador de menu. Depois de associar uma conta do Google a este AVD, agora temos uma versão totalmente funcional do Google Play em execução em nosso emulador.
fonte
Abaixo está o método que funcionou para mim em emuladores API 23-25 . A explicação é fornecida para API 24, mas funciona quase de forma idêntica para outras versões.
Créditos : Jon Doe , zaidorx , pjl .
No gerenciador AVD do Android Studio (testado na v2.2.3), crie um novo emulador com o alvo "Android 7.0 (APIs do Google)":
Baixe o pacote Open GApps mais recente para a arquitetura do emulador (CPU / ABI). No meu caso, foi
x86_64
, mas pode ser outra coisa, dependendo da sua escolha de imagem durante o assistente de criação de dispositivo. Curiosamente, a arquitetura parece mais importante do que a versão correta do Android (ou seja, os gapps para 6.0 também funcionam em um emulador 7.0).Extraia os
.apk
arquivos usando os seguintes caminhos (relativos aopen_gapps-x86_64-7.0-pico-201#####.zip
):Nota que o Open GAPPS usar a compressão lzip, que pode ser aberto usando a ferramenta encontrada no site da lzip 1 , 2 , ou no Mac usando homebrew:
brew install lzip
. Então, por exemplolzip -d gmscore-x86_64.tar.lz
.Estou fornecendo um arquivo em lote que utiliza
7z.exe
elzip.exe
extrai todos os.apk
s necessários automaticamente (no Windows):Para usar isso, salve o script em um arquivo (por exemplo
unzip_gapps.bat
) e coloque tudo o que for relevante em uma pasta, conforme demonstrado abaixo:Atualize o
su
binário para poder modificar as permissões dos arquivos que enviaremos posteriormente. Um novosu
binário pode ser encontrado no pacote SuperSU by Chainfire "Recovery flashable"zip
. Obtenha o zip, extraia-o em algum lugar, crie um arquivo em lote com o seguinte conteúdo na mesma pasta e, finalmente, execute-o:Coloque todos os
.apk
arquivos em uma pasta e crie um arquivo em lote com este conteúdo 3 :Observe que o caminho
E:\...\android-sdk\tools\emulator.exe
deve ser modificado de acordo com a localização do Android SDK em seu sistema.Execute o arquivo em lote acima (o console deve ter a seguinte aparência):
Quando o emulador carregar - feche-o, exclua o dispositivo virtual e crie outro usando a mesma imagem do sistema . Isso corrige o aplicativo Play Store que não responde, "Google Play Services parou" e problemas semelhantes. Funciona porque nas etapas anteriores nós modificamos a própria imagem do sistema (dê uma olhada na Data de modificação em
android-sdk\system-images\android-24\google_apis\x86_64\system.img
). Isso significa que todos os dispositivos criados a partir de agora com a imagem do sistema terão gapps instalados!Inicie o novo AVD. Se demorar muito para carregar, feche-o e inicie-o usando:
Depois que o AVD iniciar, você verá a imagem abaixo - observe o ícone da Play Store no canto!
3 - Não tenho certeza se todos esses comandos são necessários, e talvez alguns deles sejam exageros ... parece funcionar - que é o que conta. :)
fonte
/system/app/SdkSetup.apk
não existia na minha imagem. Muito obrigado, estava ficando louco tentando resolver isso!Agora não há necessidade de carregar nenhum pacote ou executar qualquer script para obter o Play Store no emulador. A partir do Android Studio 2.4, agora você pode criar um AVD com Play Store pré-instalado. Atualmente, é compatível apenas com AVDs que executam imagens do sistema Android 7.0 (API 24).
Fonte Oficial
Nota: os dispositivos compatíveis são indicados pela nova coluna Play Store.
fonte
Android 7.0 (Google Play)
não apenas APIs do Google. Atualmente, está disponível apenas para API 24, não API 25. Depois de instalar a imagem do sistema, ela aparecerá na guia Recomendado, não na guia Imagens x86.Queria comentar a última resposta, mas sem login só é possível fazer uma resposta:
Para se livrar do "erro somente leitura", pare o dispositivo imediatamente após estar pronto. Meu script é o seguinte:
fonte
adb root
a linha deve ser adicionada imediatamente após aadb wait-for-device
linha para evitarRead-only file system
erros.Aqui está o script que usei no linux para uma instância Nexus 5 API 24 x86 SEM GoogleApis.
Este fez isso por mim.
IMPORTANTE: para impedir que o aplicativo falhe, lembre-se de conceder as permissões de localização dos serviços do Google Play.
Configuração-> Aplicativos-> Configuração (ícone de engrenagem) -> Permissões do aplicativo-> Localização -> (menu superior direito) -> Mostrar sistema-> Ativar serviços do Google Play
fonte
Vá para http://opengapps.org/ e baixe a versão pico da sua plataforma e versão do Android. Descompacte a pasta baixada para obter
1. GmsCore.apk
2. GoogleServicesFramework.apk
3. GoogleLoginService.apk
4. Phonesky.apk
Em seguida, localize seu emulator.exe. Você provavelmente o encontrará em
C: \ Usuários \ <YOUR_USER_NAME> \ AppData \ Local \ Android \ sdk \ tools
Execute o comando:
emulator -avd <YOUR_EMULATOR'S_NAME> -netdelay none -netspeed full -no-boot-anim -writable-system
Nota: Use -writable-system para iniciar seu emulador com a imagem do sistema gravável.
Em seguida,
adb root
adb remount
adb push <PATH_TO GmsCore.apk> / system / priv-app
adb push <PATH_TO GoogleServicesFramework.apk> / system / priv-app
adb push <PATH_TO GoogleLoginService.apk> / system / priv-app
adb push <PATH_TO Phonesky.apk> / system / priv-app
Em seguida, reinicie o emulador
adb shell stop
adb shell start
Para verificar a execução,
adb shell pm lista os pacotes e você encontrará o pacote com.google.android.gms para google
fonte
A partir de agora, a instalação dos apks no
/system
diretório parece estar funcionando usando oadb push
comando.Algum serviço oculto estava remontando automaticamente o
/system
diretório noread-only
modo.De qualquer forma, consegui instalar a Play Store em uma máquina virtual normal (ou seja, máquina virtual não Google-Api) simplesmente montando o
system.img
arquivo do meu sistema operacional e copiando os arquivos.Os arquivos APK podem ser extraídos de qualquer dispositivo Android real executando o Google Apps usando o
adb pull
comando[Para obter o caminho exato dos apks, podemos usar o comando
pm list packages -f
dentro do shell adb]fonte
apk
s existissem no/system
diretório. Percebi queapk
colocar cada um dos s em uma pasta correta não resulta em erros de gravação. Atualizei minha resposta - você poderia tentar se funciona para você agora?Resolvido de maneira fácil: você deve criar um novo emulador, antes de abri-lo pela primeira vez, siga estas 3 etapas fáceis:
1- vá para C: \ Usuários [usuário] .android \ avd [pasta do seu dispositivo virtual] abra "config.ini" com um editor de texto como o bloco de notas
2- mudança
"PlayStore.enabled = false" para "PlayStore.enabled = true"
3- mudança
mage.sysdir.1 = system-images \ android-30 \ google_apis \ x86 \
para
image.sysdir.1 = system-images \ android-30 \ google_apis_playstore \ x86 \
fonte
O que você precisa fazer é atualizar o
config.ini
arquivo do dispositivo e baixar novamente a imagem do sistema.Atualize os seguintes valores em
C:\Users\USER\.android\avd\DEVICE_ID\config.ini
(no Windows) ou~/.android/avd/DEVICE_ID/config.ini
(no Linux)Em seguida, baixe novamente a imagem do sistema para o dispositivo em Android Studio> Ferramentas> AVD Manager
Isso é tudo. Reinicie o dispositivo e você terá a Play Store instalada.
Isso também foi respondido aqui: Como instalar o aplicativo Google Play no emulador do Android Studio?
fonte
Só quero adicionar outra solução para usuários React Native que precisam apenas do aplicativo Expo.
fonte