Error al inicializar GoogleService

Estoy utilizando google Maps en mi aplicación android. He creado la llave y agregado permisos necesarios en archivo de manifiesto. Pero pronto empiezo la aplicación recibo este mensaje en el depurador:

GoogleService no se pudo inicializar, status: 10, Falta un recurso esperado: 'R.string.google_app_id' para inicializar los servicios de Google. Las posibles causas están desaparecidas google-services.json o com.google.gms.google-services gradle plugin.

No estoy seguro de lo que está mal. El mapa está funcionando bien y puedo usarlo sin ningún problema. Mi archivo gradle tiene esta entrada:

Compilar 'com.google.android.gms: play-services: 8.4.0'

¿De qué se queja y cómo puedo aliviarlo?

Debe colocar el archivo de configuración ( google-services.json ) generado por developer.google.com , como se menciona en el paso 2 de los documentos oficiales aquí

El proceso es simple

  1. Puede seleccionar su proyecto o crear uno nuevo.
  2. Luego, después de seleccionar los servicios deseados (en este caso el servicio de mapas), puede generar el archivo de configuración.

    Para las personas que han migrado a los proyectos de Firebase pueden obtener lo mismo acudiendo a Firebase Console , seleccionando su proyecto y bajo configuración encontrará el archivo de configuración.

  3. Luego, como se cita en el paso 3 de los documentos oficiales aquí

    Copie el archivo google-services.json que acaba de descargar en el directorio app / or mobile / de su Android

PS: Para las personas que votan esta respuesta, por favor deje un comentario en cuanto a por qué usted está votando por la votación.

[Del Gestor de Producto @ Google]

Puedes solucionar este problema descargando y copiando el archivo google-services.json para tu aplicación de Android siguiendo estos pasos:

  • Seleccione el nombre de su aplicación / proyecto y el nombre de paquete de Android de este enlace y haga clic en Continue to Choose and configure services .
  • Haga clic en Continue to Generate Configuration files .
  • Descargue google-services.json y copie el archivo en el directorio de la app/ mobile/ módulo de su proyecto de Android.

Si ha importado previamente su proyecto de Google en Firebase, puede obtener el 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 propio proyecto.

En mi caso, la causa de este error fue que el complemento de Google Services para Gradle y la biblioteca de Play Services eran versiones incompatibles. Instrucciones para versiones compatibles:

1) Agregue la dependencia a su nivel de proyecto build.gradle:

 classpath 'com.google.gms:google-services:1.5.0-beta2' 

2) Agregue el complemento a su nivel de aplicación build.gradle:

 apply plugin: 'com.google.gms.google-services' 

3) Si está utilizando Android Studio, esta es la cadena que se agregará a la sección de dependencias del archivo build.gradle de su aplicación:

 dependencies { compile "com.google.android.gms:play-services:8.3.0" } 

Fuente: https://developers.google.com/cloud-messaging/android/client

Encontré el mismo problema y lo solucioné siguió la solución oficial .

Estos son los pasos:

  1. Obtenga el archivo de configuración google-services.json desde este enlace .

  2. Copie el archivo google-services.json que acaba de descargar en el directorio app / or mobile / de su proyecto de Android Studio.

  3. Agregue la dependencia a su nivel de proyecto build.gradle:

     classpath 'com.google.gms:google-services:1.5.0-beta2' 
  4. Agregue el complemento a su nivel de aplicación build.gradle:

     apply plugin: 'com.google.gms.google-services' 
  5. Agrega esta dependencia a tu nivel de aplicación build.gradle:

     dependencies { compile "com.google.android.gms:play-services:8.3.0" } 

Esto también me sucede a mí. En mi caso, es porque el estudio de Android 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

Tenía el mismo problema en ese entonces. Fue capaz de resolverlo usando sólo la biblioteca de servicios de juego necesaria, que en mi caso GCM.

En lugar de com.google.android.gms:play-services:8.4.0 , uso com.google.android.gms:play-services-gcm:8.4.0 . Vea aquí para más información; Esto también soluciona problema multidex.

Luego apliqué el enfoque de @Radix y @ Alexander para eliminar el mensaje GCM que se ha publicado en el logcat con respecto a google-services.json .

Sólo tienes otra solución que me quite accidentalmente

 SupportMapFragment mapFragment = (SupportMapFragment) getSupportFragmentManager() .findFragmentById(R.id.map); mapFragment.getMapAsync(this); 

Añadir esto y el trabajo, es para la nueva solución

Para aquellos que se enfrentan a este problema, incluso después de configurar correctamente los servicios de juego y colocar el archivo google-services.json en la carpeta de project/app , la solución real es

Build > Rebuild Project

Posiblemente debido al hecho de que las secuencias de archivo json no se integran en los recursos compilados hasta que se realiza una reconstrucción completa.

Puede cambiar el versionCode y versionName de su aplicación en su archivo Gradle.

Una solución rápida que he utilizado es desactivar la firma. Si no desea crear código de producción, puede configurar su variante de construcción para depurar, localOldDebug o localDebug.

Haz clic en Construir variantes en la parte inferior izquierda de Android Studio.

Cómo-deshabilitar-generado-firmado-apk-android-studio

  • Mi superposición no aparece hasta que se pulse mapView en android
  • NPE utilizando Google maps services en mapView.onCreate (...)
  • SupportMapFragment - visibilidad de fragmento de mapa
  • Android Google Map error android.view.InflateException: Archivo XML binario línea # 6: error iniciando el fragmento de clase
  • Cómo configurar android mapa sdk v2 para utilizar diferentes claves para la producción y el desarrollo?
  • Generar LatLng aleatorio dada la ubicación del dispositivo y el radio
  • Ejecución de aplicación google map en Android Emulator
  • Cómo eliminar un solo marcador con Google Maps V2?
  • NullPointerException cuando se utiliza RelativeLayout como InfoWindow personalizado
  • Android Cómo centrarse en la posición actual
  • Uso de una imagen como GoogleMap
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.