Falta clave api / clave actual con los servicios de Google 3.0.0


Desde que actualizé el proyecto con la última versión de Google services and libraries (9.0.0), tengo este extraño problema:

Compilación de error

Consola de grado:

:app:processDebugGoogleServices
Parsing json file: /Users/cyrilmorales/Documents/Projects/mobilemeans-punainenristi/app/google-services.json
:app:processDebugGoogleServices FAILED
Error:Execution failed for task ':app:processDebugGoogleServices'.
> Missing api_key/current_key object
Information:BUILD FAILED

Construir.gradle (raíz) :

dependencies {
    classpath 'com.android.tools.build:gradle:2.2.0-alpha1'
    classpath 'com.google.gms:google-services:3.0.0'
}

Construir.gradle (app) :

dependencies {
    ....
    compile 'com.google.android.gms:play-services-analytics:9.0.0'
    compile 'com.google.android.gms:play-services-gcm:9.0.0'
    compile 'com.google.android.gms:play-services-maps:9.0.0'
    compile 'com.google.android.gms:play-services-location:9.0.0'
    ...
}
apply plugin: 'com.google.gms.google-services'

Sin embargo, funciona bien con las bibliotecas de servicios play en 8.4.0 y google-services 2.1.0

¿Tiene alguna idea de la solución ?

Author: Tim Castelijns, 2016-05-19

16 answers

Generar nuevo archivo de configuración (google-services.json) de: https://developers.google.com/cloud-messaging/android/client#get-config

Nuevo archivo de configuración con "api_key": [ { "current_key": XXX } ] en la sección cliente

Actualizar: o servicio habilitado manualmente en la consola de desarrolladores y generar clave.

 157
Author: Jozka Jozin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-19 03:12:09

Agregar un valor de clave actual vacío en google-services.el archivo json resolvió este problema para mí

"api_key": [{ "current_key": "" }]

 86
Author: Ajax -the Max,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-11-02 01:49:36

Sí, en cuanto a la primera vez que uso con Firebase, me enfrento a eso.Haga clic en el menú de su aplicación y haga clic en "Administrar".

introduzca la descripción de la imagen aquí

Puede descargar google-services.json otra vez.

introduzca la descripción de la imagen aquí

 34
Author: Htoo Aung Hlaing,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-23 07:48:11

Para todos los que tengan este problema, por ahora, deberá agregar cualquier servicio a su aplicación en https://developers.google.com/cloud-messaging/android/client#get-config

En mi caso he agregado admob (ya tengo analytics y gcm) y luego el archivo se generó con api_key.

Creo que es un error y pronto se arreglará, hasta que, hacerlo.

 9
Author: Elvis Oliveira,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-21 02:58:52

Aunque la respuesta aceptada de Jozka Jozin y sus comentarios, la mensajería en la nube no está relacionada ni es necesaria.

Sin embargo, re-generar google-services.json es la clave de la solución(así que lo voté). A continuación se muestra lo que hice:

Como sabe, puede generar el archivo de configuración para Analytics desde la Guía de desarrolladores de Google.

1: Elige tu aplicación.

1) elija una aplicación

2: ¡Cierra la ventana emergente! Se esconde...

¡Cierra la ventana emergente!

3: LAS OPCIÓN DE ADMOB!

la opción oculta de admob

4: ¡Por supuesto, selecciónelo y habilítelo!

¡activalo!

5: Ahora podemos generar correctamente los archivos de configuración!

generar archivos de configuración

6: ¡Lo logramos! Esta vez, el archivo de configuración debe incluir el api_key apropiadamente.

¡lo logramos!

Conclusión: La interfaz de usuario de la herramienta de generación interactiva es un poco confusa...

 8
Author: hata,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-22 15:36:11

Puede descargar el archivo google-services.json de nuevo.

Pasos para descargar:

1). Haga clic en el menú superior de su aplicación en la consola Firebase.

2). Haga clic en administrar.

3). Encontrará la opción archivo Download the latest config, descargue y reemplace el archivo google-services.json en su aplicación.

 7
Author: Anubhav,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-29 05:46:19

Primero en su archivo JSON

Sustitúyase

"api_key": []

Con

"api_key": [{ "current_key": "" }]

Entonces la compilación de gradle tendrá éxito, pero cuando ejecute su aplicación puede obtener errores como los siguientes..

Error:Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'.
> com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK META-INF/LICENSE
    File1: C:\Users\bucky\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-core\2.2.2\d20be6a5ddd6f8cfd36ebf6dea329873a1c41f1b\jackson-core-2.2.2.jar
    File2: C:\Users\bucky\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-databind\2.2.2\3c8f6018eaa72d43b261181e801e6f8676c16ef6\jackson-databind-2.2.2.jar
    File3: C:\Users\bucky\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations\2.2.2\285cb9c666f0f0f3dd8a1be04e1f457eb7b15113\jackson-annotations-2.2.2.jar

Para solucionar este problema, puede agregar lo siguiente a su aplicación.archivo gradle.. Funcionó para mí.

packagingOptions {
        exclude 'META-INF/DEPENDENCIES'
        exclude 'META-INF/LICENSE'
        exclude 'META-INF/LICENSE.txt'
        exclude 'META-INF/license.txt'
        exclude 'META-INF/NOTICE'
        exclude 'META-INF/NOTICE.txt'
        exclude 'META-INF/notice.txt'
        exclude 'META-INF/ASL2.0'
    }

Editar: Me mostró algún error más tarde mientras construía el archivo apk. Así que tuve que descargar el archivo json de nuevo. Después de la prueba 2 obtuve el archivo json con una api válida clave.

 4
Author: Doge,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-08 07:48:22

Si no está utilizando Firebase, el enlace correcto para generar los servicios de Google.el archivo de configuración json se encuentra aquí.

 3
Author: Phileo99,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-29 05:47:11

Regenerar los servicios de Google.json at https://developers.google.com/cloud-messaging/android/client#get-config, una cosa importante es que debe habilitar la mensajería en la nube en el paso" Elegir servicios " , abra el nuevo google-services.archivo json verá palabras como

    "api_key": [
     {
       "current_key": "xxxxxxxxxxx"
     }"

Sin estas palabras o sin el valor de current_key no es el archivo correcto

 2
Author: dx3904,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-30 07:43:18

Pude resolver este problema con estos pasos que no se responden aquí. Esta respuesta NO está habilitando la mensajería en la nube, solo está recuperando su clave de servidor.

Así que primero, vaya a Firebase Console, y luego vaya a Configuración del proyecto, y luego haga clic en la pestaña "Mensajería en la nube". Mire donde dice " clave del servidor "y si no hay una clave larga que se muestre (no el número de" ID del remitente"), haga clic en" Regenerar clave " y ahora debería aparecer una clave larga. Copie esa llave y colóquela en su google-servicios.archivo json en: "api_key": [ {"current_key" : "key goes here"} ].

Este método me ayudó mientras ninguno de los otros estaba trabajando, así que espero que esto ayude a alguien.

 2
Author: David Velasquez,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-04 16:14:30

introduzca la descripción de la imagen aquí

Haga clic en Vista general -> Icono de engranaje -> Configuración del proyecto.

introduzca la descripción de la imagen aquí

Vaya a Descargar la última configuración y haga clic en google-service.botón json para descargar el archivo y guardarlo en la carpeta de la aplicación y compilar de nuevo. ¡Que lo disfrutes!

 2
Author: Pinkesh Darji,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-06 09:04:48

Debe agregar huellas dactilares de certificado SHA a su proyecto y luego descargar los servicios de Google.jason archivo de nuevo, que debe contener "api_key": [{ "current_key": "xxxxxx" }] automáticamente.

Puede ver la siguiente página para ver cómo generar las huellas dactilares:

Https://developers.google.com/android/guides/client-auth

En Windows, simplemente ejecute el siguiente comando y use Android como contraseña para fines de depuración:

keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
 2
Author: Hexise,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-16 03:03:57

Usando Firebase

GoogleServices'. > Missing api_key/current_key object

Recibí este error después de actualizar un proyecto existente a los nuevos servicios Firebase. El servicio de Google generado .el archivo json descargado desde la página de configuración del proyecto firebase no incluyó el api_key necesario.

De las otras respuestas aquí se ve como Google / Firebase Cloud Es necesario agregar mensajes (GCM/FCM) para que esto api_key se incluya en el archivo google-service.json.

Así que agregué un dependencies on the firebase FCM before downloading the file again, and this time the key was included.

Incluye FCM (GCM)

dependencies {
     compile 'com.google.firebase:firebase-messaging:9.0.0'
}
 1
Author: TouchBoarder,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-22 15:24:35

Si no desea reconfigurar y descargar el archivo google-services.json, puede obtener la clave api directamente desde firebase console. Solo tienes que ir a

Descripción general > Añadir otra aplicación > Web

Obtendrá la configuración de su base de datos que contendrá apiKey. Simplemente copie ese valor y colóquelo en el valor current_key indicado por XXX debajo de

"api_key": [{ "current_key": "XXX" }]
 1
Author: Shakti,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-21 06:50:34

Para los migradores de firebase:

Asegúrese de haber agregado al menos una huella digital en la configuración de su proyecto y vuelva a descargar los servicios de Google.json file

 0
Author: Su-Au Hwang,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-30 10:51:30

Si está utilizando firebaes, debe copiar serverKey desde firebase a los servicios de Google.json

 "api_key": [{ "current_key": "SERVER_KEY"}

Para obtener la clave del servidor, vaya a ProjectOverview> Configuración del proyecto > CloudMessaging > Copiar O generar y copiar serverKey..

 0
Author: Tarun Voora,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-05-17 05:56:15