studio programacion herramientas fundamentos con avanzado aplicaciones android google-maps android-mapview android-maps-v2

android - programacion - GoogleService no pudo inicializarse



manual de android en pdf (11)

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 developers.google.com/identity/sign-in/android/start?hl=en

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 yendo a Firebase Console , seleccionando su proyecto y en la configuración encontrará el archivo de configuración.

  3. Luego, como se cita en el paso 3 de los documentos oficiales developers.google.com/identity/sign-in/android/start?hl=en

    Copie el archivo google-services.json que acaba de descargar en el directorio de aplicaciones / móviles / de su Android

PD: Para las personas que votan negativamente por esta respuesta, por favor, deje un comentario sobre por qué rechaza votarla.

Estoy usando google Maps en mi aplicación de Android. He creado la clave y he agregado los permisos necesarios en el archivo de manifiesto. Pero pronto inicio la aplicación, aparece este mensaje en el depurador:

GoogleService no pudo inicializarse, estado: 10, Falta un recurso esperado: ''R.string.google_app_id'' para inicializar los servicios de Google. Faltan posibles causas google-services.json o com.google.gms.google-services gradle plugin.

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

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

¿De qué se queja y cómo lo alivia?


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 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 para agregar a la sección de dependencia 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 resolví siguiendo la https://developers.google.com/cloud-messaging/android/client .

Aquí están 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 de aplicaciones / móviles / 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. Agregue esta dependencia a su nivel de aplicación build.gradle:

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



Para Xamarin / Visual Studio Mac, necesitaba agregar esto al final de mi Droid.csproj

<Target Name="ProcessGoogleServicesJson" Condition=" ''@(GoogleServicesJson)'' != '''' AND ''$(AndroidApplication)'' == ''True'' AND ''$(DesignTimeBuild)'' != ''True''" BeforeTargets="$(ProcessGoogleServicesJsonBeforeTargets)" AfterTargets="$(ProcessGoogleServicesJsonAfterTargets)"> <Message Text="Using ProcessGoogleServicesJson override" Importance="high" /> <ProcessGoogleServicesJson GoogleServicesJsons="@(GoogleServicesJson)" IntermediateOutputPath="$(IntermediateOutputPath)" MonoAndroidResDirIntermediate="$(MonoAndroidResDirIntermediate)" AndroidPackageName="$(_AndroidPackage)"> <Output ItemName="_AndroidResourceDest" TaskParameter="GoogleServicesGeneratedResources" /> <Output ItemName="FileWrites" TaskParameter="GoogleServicesGeneratedResources" /> </ProcessGoogleServicesJson> <ItemGroup> <FileWrites Include="$(IntermediateOutputPath)/ProcessGoogleServicesJson.stamp" /> </ItemGroup>

https://github.com/xamarin/GooglePlayServicesComponents/issues/64


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

Build > 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.


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


Solo tengo otra solución que voy a eliminar accidentalmente

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

Agregue esto y trabaje, es para una nueva solución


Tuve el mismo problema en ese entonces. Pude resolverlo usando solo la biblioteca de servicios de reproducción 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 here para más información; Esto también resuelve el problema multidex.

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


Una solución rápida que utilicé es deshabilitar 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 de Android Studio.

how-to-disable-generated-signed-apk-android-studio


[Del gerente de producto @ Google]

Puede solucionar este problema descargando y copiando el archivo google-services.json para su aplicación de Android siguiendo los pasos a continuación:

  • Seleccione el nombre de su aplicación / proyecto y el nombre del paquete de Android en developer.google.com 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 en su proyecto de Android.

Si ya importó su proyecto de Google a Firebase, puede obtener google-services.json actualizado desde la consola de Firebase en Configuración del proyecto.

NO COPIE el PROYECTO_NÚMERO como lo 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í.