Estoy usando Google Maps en mi aplicación de Android. Creé la clave y agregué los permisos necesarios en el archivo de manifiesto. Pero pronto inicio la aplicación, recibo este mensaje en el depurador:
GoogleService no se pudo inicializar, estado: 10, Falta un recurso esperado: 'R.string.google_app_id' para inicializar los servicios de Google. Las posibles causas son el complemento google-services.json o com.google.gms.google-services gradle.
No estoy seguro de qué pasa. El mapa funciona bien y puedo usarlo sin problemas. Mi archivo gradle tiene esta entrada:
compile 'com.google.android.gms: play-services: 8.4.0'
¿De qué se queja y cómo puedo aliviarlo?
Respuestas:
Debe colocar el archivo de configuración (
google-services.json
) generado por developer.google.com , como se menciona en el segundo paso de los documentos oficiales aquíEl proceso es simple
Luego, después de seleccionar los servicios deseados (en este caso, el servicio de mapas), puede generar el archivo de configuración.
Luego, como se cita en el paso 3 de los documentos oficiales aquí
PD: Para las personas que votan en contra de esta respuesta, dejen un comentario sobre por qué no votaron.
fuente
[De Product Manager @ Google]
Puede solucionar este problema descargando y copiando el
google-services.json
archivo para su aplicación de Android siguiendo los pasos a continuación:Continue to Choose and configure services
.Continue to Generate Configuration files
.google-services.json
y copie el archivo en el directorio del móduloapp/
omobile/
en su proyecto de Android.Si anteriormente ha importado su proyecto de Google a Firebase, puede obtener el archivo google-services.json actualizado desde la consola de Firebase en Configuración del proyecto.
NO COPIE el PROJECT_NUMBER como sugiere una de las otras respuestas, ya que google_app_id se refiere a su aplicación dentro de un Proyecto y no al proyecto en sí.
fuente
En mi caso, la causa de este error fue que el complemento de Servicios de Google para Gradle y la biblioteca de Servicios de Play eran versiones incompatibles. Instrucciones para versiones compatibles:
1) Agregue la dependencia a su build.gradle a nivel de proyecto:
2) Agregue el complemento a su build.gradle a nivel de aplicación:
3) Si está usando Android Studio, esta es la cadena para agregar a la sección de dependencia del archivo build.gradle de su aplicación:
Fuente: https://developers.google.com/cloud-messaging/android/client
fuente
com.google.android.gms:play-services-maps:8.4.0
Me encontré con el mismo problema y lo resolví siguiendo la solución oficial .
Estos son los pasos:
obtenga el archivo de configuración
google-services.json
de este enlace .Copie el
google-services.json
archivo que acaba de descargar en la aplicación / o el directorio móvil / de su proyecto de Android Studio.Agrega la dependencia a tu build.gradle a nivel de proyecto:
Agregue el complemento a su build.gradle a nivel de aplicación:
Agregue esta dependencia a su build.gradle a nivel de aplicación:
fuente
Para aquellos que enfrentan este problema incluso después de configurar correctamente los servicios de reproducción y colocar el
google-services.json
archivo en laproject/app
carpeta, la solución real esBuild > Rebuild Project
Posiblemente debido al hecho de que las cadenas del archivo json no se integran en los recursos compilados hasta que se realiza una reconstrucción completa.
fuente
Para Xamarin / Visual Studio Mac, necesitaba agregar esto al final de mi Droid.csproj
https://github.com/xamarin/GooglePlayServicesComponents/issues/64
fuente
Esto también me pasó a mí. En mi caso, es porque Android Studio intentó insertar algún código en mi actividad principal. Eliminar el código corrige el error
El código insertado trata sobre la indexación de aplicaciones:
https://developers.google.com/app-indexing/android/publish
fuente
Tuve el mismo problema en ese entonces. Pude resolverlo usando solo la biblioteca de servicios de juego necesaria, que en mi caso GCM.
En lugar de
com.google.android.gms:play-services:8.4.0
, utilizocom.google.android.gms:play-services-gcm:8.4.0
. Consulte aquí para obtener más información; esto también resuelve el problema multidex.Luego apliqué el enfoque de @Radix y @ Alexander para eliminar el mensaje que se ha generado GCM en el logcat con respecto a
google-services.json
.fuente
Puede cambiar el
versionCode
yversionName
de su aplicación en su archivo Gradle.fuente
Una solución rápida que utilicé es desactivar la firma. Si no desea crear código de producción, puede configurar su variante de compilación para depurar, localOldDebug o localDebug.
Haga clic en Build Variants en la parte inferior izquierda en Android Studio.
cómo-deshabilitar-generado-firmado-apk-android-studio
fuente
Solo tengo otra solución que eliminaré accidentalmente
Agregue esto y trabaje, es para una nueva solución
fuente