Отсутствует 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