Estou usando o Google Maps em meu aplicativo Android. Eu criei a chave e adicionei as permissões necessárias no arquivo de manifesto. Mas logo eu inicio o aplicativo e recebo esta mensagem no depurador:
Falha ao inicializar GoogleService, status: 10, recurso esperado ausente: 'R.string.google_app_id' para inicializar serviços do Google. As possíveis causas são a ausência do plug-in google-services.json ou com.google.gms.google-services gradle.
Eu não tenho certeza do que está errado. O mapa está funcionando bem e posso usá-lo sem problemas. Meu arquivo gradle tem esta entrada:
compilar 'com.google.android.gms: play-services: 8.4.0'
Do que ele está reclamando e como faço para aliviá-lo?
Respostas:
Você precisa colocar o arquivo de configuração (
google-services.json
) gerado por developer.google.com , conforme mencionado na 2ª etapa dos documentos oficiais aquiO processo é simples
Depois de selecionar os serviços desejados (neste caso o serviço de mapas), você pode gerar o arquivo de configuração.
Então, conforme citado na etapa 3 dos documentos oficiais aqui
PS: Para as pessoas que estão votando contra esta resposta, por favor, deixe um comentário explicando porque você está votando contra ela.
fonte
[De Product Manager @ Google]
Você pode corrigir esse problema baixando e copiando o
google-services.json
arquivo para seu aplicativo Android seguindo as etapas abaixo:Continue to Choose and configure services
.Continue to Generate Configuration files
.google-services.json
e copie o arquivo para o diretório do móduloapp/
oumobile/
em seu projeto Android.Se você importou anteriormente seu projeto do Google para o Firebase, pode obter o google-services.json atualizado no Firebase console em Configurações do projeto.
NÃO COPIE PROJECT_NUMBER conforme sugerido por uma das outras respostas, pois google_app_id se refere ao seu aplicativo dentro de um projeto e não ao próprio projeto.
fonte
No meu caso, a causa desse erro foi que o plugin do Google Services para Gradle e a biblioteca do Play Services eram versões incompatíveis. Instruções para versões compatíveis:
1) Adicione a dependência ao build.gradle de nível de projeto:
2) Adicione o plug-in ao build.gradle de nível de aplicativo:
3) Se você estiver usando o Android Studio, esta é a string a ser adicionada à seção de dependência do arquivo build.gradle do seu aplicativo:
Fonte: https://developers.google.com/cloud-messaging/android/client
fonte
com.google.android.gms:play-services-maps:8.4.0
Encontrei o mesmo problema e resolvi seguindo a solução oficial .
Aqui estão as etapas:
obter o arquivo de configuração
google-services.json
de este link .Copie o
google-services.json
arquivo que você acabou de baixar no diretório app / ou mobile / do seu projeto Android Studio.Adicione a dependência ao build.gradle de nível de projeto:
Adicione o plug-in ao build.gradle de nível de aplicativo:
Adicione esta dependência ao build.gradle de nível de aplicativo:
fonte
Para aqueles que enfrentam esse problema mesmo depois de configurar corretamente os serviços de reprodução e colocar o
google-services.json
arquivo naproject/app
pasta, a solução real éBuild > Rebuild Project
Possivelmente devido ao fato de que as strings do arquivo json não são integradas aos recursos compilados até que uma reconstrução completa seja executada.
fonte
Para Xamarin / Visual Studio Mac, eu precisava adicionar isso na parte inferior do meu Droid.csproj
https://github.com/xamarin/GooglePlayServicesComponents/issues/64
fonte
Isso também aconteceu comigo. No meu caso, é porque o Android Studio tentou inserir algum código na minha atividade principal. Remover o código corrige o erro
O código inserido é sobre indexação de aplicativos:
https://developers.google.com/app-indexing/android/publish
fonte
Eu tive o mesmo problema naquela época. Consegui resolver usando apenas a biblioteca de serviços de jogo necessária, que no meu caso GCM.
Em vez de
com.google.android.gms:play-services:8.4.0
, eu usocom.google.android.gms:play-services-gcm:8.4.0
. Veja aqui para mais informações; isso também resolve o problema do multidex.Em seguida, apliquei a abordagem de @Radix e @Alexander para remover a mensagem que o GCM foi gerado no logcat em relação ao
google-services.json
.fonte
Você pode alterar o
versionCode
eversionName
do seu aplicativo no arquivo Gradle.fonte
Uma solução rápida que usei foi desativar a assinatura. Se você não deseja criar um código de produção, pode definir sua variante de compilação como debug, localOldDebug ou localDebug.
Clique em Build Variants no canto inferior esquerdo do Android Studio.
como desativar o apk-android-studio-gerado-assinado
fonte
Só tenho outra solução que vou remover acidentalmente
Adicione isso e trabalhe, é para uma nova solução
fonte