Отсутствует api_key/текущий ключ с Google Services 3.0.0

Поскольку я обновил проект с помощью последней версии google-сервисов и библиотек (9.0.0), у меня есть эта странная проблема:

Ошибка сборки

Консоль класса:

: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

build.gradle(root):

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

build.gradle(приложение):

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'

Однако он хорошо работает с библиотеками сервисов воспроизведения в 8.4.0 и google-services 2.1.0

Есть ли у вас какое-либо представление об этом решении?

Ответ 1

Создайте новый файл конфигурации (google-services.json) из: https://developers.google.com/cloud-messaging/android/client#get-config

Новый конфигурационный файл с "api_key": [ { "current_key": XXX } ] в разделе клиента

Обновить: или включить вручную службу в консоли разработчика и сгенерировать ключ.

Ответ 2

Добавление пустого значения текущего ключа в файл google-services.json решило эту проблему для меня

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

Ответ 3

Да, как в первый раз, используя Firebase, я сталкиваюсь с этим. Нажмите на меню приложения и нажмите "Управление".

введите описание изображения здесь

вы можете снова загрузить google-services.json.

введите описание изображения здесь

Ответ 4

Для всех, у кого есть эта проблема, на данный момент вам нужно добавить любую услугу в свое приложение по адресу https://developers.google.com/cloud-messaging/android/client#get-config

В моем случае я добавил admob (уже есть аналитика и gcm), а затем файл был сгенерирован с помощью api_key.

Я думаю, что это ошибка, и скоро она будет исправлена, до тех пор, сделайте это.

Ответ 5

Хотя Jozka Jozin принял ответ и его комментарии, Cloud Messaging не имеет отношения и не требуется.

Тем не менее, повторное генерирование google-services.json является ключом к решению (поэтому я проголосовал за него). Вот что я сделал:

Как вы знаете, вы можете сгенерировать конфигурационный файл для Google Analytics из Google Developers Guide.

1: выберите свое приложение.

1) выберите приложение

2: Закройте всплывающее окно! Он скрывается...

Закрыть всплывающее окно!

3: ВАРИАНТ ADMOB!

скрытая опция admob

4: Конечно, выберите и включите его!

включить его!

5: Теперь мы можем корректно создавать файлы конфигурации!

сгенерировать файлы конфигурации

6: Мы сделали это! На этот раз файл конфигурации должен содержать api_key.

мы сделали это!

Заключение: Пользовательский интерфейс интерактивного инструмента генерации немного запутан...

Ответ 6

Вы снова можете загрузить файл google-services.json.

Шаги для загрузки:

1). Нажмите на верхнее меню в своем приложении в консоли Firebase.

2). Нажмите "Управление".

3). Вы найдете опцию файла Download the latest config, загрузите и замените файл google-services.json в своем приложении.

Ответ 7

Если вы не используете Firebase, правильная ссылка для создания конфигурационного файла google-services.json на самом деле найдена здесь.

Ответ 8

Сначала в вашем файле JSON

Заменить

"api_key": []

с

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

Затем сборка gradle будет успешной, но когда вы запустите приложение, вы можете получить такие ошибки, как следующие.

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

Чтобы устранить эту проблему, вы можете добавить следующее в свой файл app.gradle.. Это сработало для меня.

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'
    }

Изменить: Позднее он показал мне некоторую ошибку при создании файла apk. Поэтому мне пришлось снова загрузить json файл. После 2 испытаний я получил файл json с действительным ключом api.

Ответ 9

регенерировать google-services.json в https://developers.google.com/cloud-messaging/android/client#get-config, важно то, что вы должны включить Cloud Messaging в "Выбрать службы" шаг, откройте новый файл google-services.json, вы увидите слова типа

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

без этих слов или без значения current_key не является правильным файлом

Ответ 10

введите описание изображения здесь

Нажмите Обзор → Значок передачи → Настройки проекта.

введите описание изображения здесь

Откройте последнюю версию конфигурации и нажмите кнопку google-service.json, чтобы загрузить файл и сохранить его в папке приложения и скомпилировать снова. Наслаждайтесь!

Ответ 11

Использование Firebase

GoogleServices'. > Missing api_key/current_key object

Я получил эту ошибку после обновления существующего проекта до новых Firebase Services. Сгенерированный файл google-service.json, загруженный с страницы настроек проекта firebase, не включал api_key.

Из других ответов здесь это выглядит как Google/Firebase Cloud Обмен сообщениями (GCM/FCM) необходимо добавить для этого api_key для включения в файле google-service.json.

Итак, я добавил зависимости от FCM Firebase перед загрузкой файла снова, и на этот раз ключ был включен.

Включить FCM (GCM)

dependencies {
     compile 'com.google.firebase:firebase-messaging:9.0.0'
}

Ответ 12

Мне удалось решить эту проблему с помощью этих шагов, на которые здесь не ответил. Этот ответ НЕ позволяет облачным сообщениям, он извлекает только свой серверный ключ.

Итак, сначала зайдите в Firebase Console, а затем перейдите в "Настройки проекта", а затем нажмите вкладку "Cloud Messaging". Посмотрите, где написано "серверный ключ", и если не отображается длинный ключ (не номер "ID отправителя" ), нажмите "Восстановить ключ", и теперь должен появиться длинный ключ. Скопируйте этот ключ и поместите его в свой файл google-services.json по адресу: "api_key": [ {"current_key" : "key goes here"} ].

Этот метод помог мне, пока никто из других не работал, поэтому, надеюсь, это помогает кому-то.

Ответ 13

Если вы не хотите перенастраивать и загружать файл google-services.json, вы можете получить ключ api непосредственно из консоли firebase. Просто зайдите в

Обзоp > Добавить другое приложение > Веб

Вы получите конфигурацию для своей базы данных, которая будет содержать apiKey. Просто скопируйте это значение и поместите его в значение current_key, обозначенное XXX ниже

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

Ответ 14

Для мигателей firebase:

убедитесь, что вы добавили по крайней мере один отпечаток пальца в свои настройки проекта и перезагрузите файл google-services.json