Отсутствует ключ api / текущий ключ с сервисами Google 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
построить.gradle (root):
dependencies {
classpath 'com.android.tools.build:gradle:2.2.0-alpha1'
classpath 'com.google.gms:google-services:3.0.0'
}
построить.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'
тем не менее, он хорошо работает с библиотеками play service в 8.4.0 и Google-services 2.1.0
у вас есть идеи решения ?
16 ответов
создать новый конфигурационный файл (google-services.json) от:https://developers.google.com/cloud-messaging/android/client#get-config
новый файл конфигурации с "api_key": [ { "current_key": XXX } ]
в разделе клиенте
обновление: или вручную включена служба в консоли разработчика и генерировать ключ.
добавление пустого текущего значения ключа в google-services.JSON file решил эту проблему для меня
"api_key": [{ "current_key": "" }]
Да, что касается первого использования с Firebase, я сталкиваюсь с этим.Нажмите на меню приложения и нажмите "Управление".
вы можете скачать google-services.снова json.
для всех, у кого есть эта проблема, на данный момент вам нужно добавить любую услугу в свое приложение по адресуhttps://developers.google.com/cloud-messaging/android/client#get-config
в моем случае я добавил admob (уже есть analytics и gcm), а затем файл был сгенерирован с помощью api_key.
Я думаю, что это ошибка и скоро будет исправлено, до тех пор, сделайте это.
хотя принятый ответ Jozka Jozin и его комментарии, облачные сообщения не связаны и не требуются.
тем не менее, повторное генерирование google-services.json
является ключом к решению (поэтому я проголосовал за него). Ниже то, что я сделал:
Как вы знаете, вы можете создать файл конфигурации для аналитики от Руководство Разработчиков Google.
1: Выберите приложение.
2: Закройте всплывающее окно! Он скрыть...
3: ОПЦИЯ ADMOB!
4: Конечно, выберите и включите его!
5: Теперь мы можем правильно генерировать файлы конфигурации!
6: мы сделали это! На этот раз, файл конфигурации должен включать api_key соответственно.
вывод: пользовательский интерфейс интерактивного инструмента генерации немного запутан...
первый в 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\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.2c8f6018eaa72d43b261181e801e6f8676c16ef6\jackson-databind-2.2.2.jar
File3: C:\Users\bucky\.gradle\caches\modules-2\files-2.1\com.fasterxml.jackson.core\jackson-annotations.2.25cb9c666f0f0f3dd8a1be04e1f457eb7b15113\jackson-annotations-2.2.2.jar
чтобы устранить эту проблему, вы можете добавить в приложение следующее.файл 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.
Если вы не используете Firebase, правильная ссылка для создания google-сервисов.файл конфигурации json Фактически найден здесь.
восстановить гугл-сервисы.json at https://developers.google.com/cloud-messaging/android/client#get-config,важно то, что вы должны включить облачный обмен сообщениями в шаге "выбрать службы" откройте новый Google-сервисы.файл json вы увидите такие слова, как
"api_key": [
{
"current_key": "xxxxxxxxxxx"
}"
без этого слова или без значения current_key не является правильным файлом
я смог решить эту проблему с помощью этих шагов, на которые здесь нет ответа. Этот ответ не включает облачный обмен сообщениями, он только извлекает свой серверный ключ.
Итак, сначала перейдите в консоль Firebase, а затем перейдите в настройки проекта, а затем нажмите на вкладку "облачные сообщения". Посмотрите, где он говорит "ключ сервера", и если нет отображения длинного ключа (а не номера" идентификатор отправителя"), нажмите" Восстановить ключ", и теперь должен отображаться длинный ключ. Скопируйте этот ключ и поместите его в службы Google.файл json по адресу:"api_key": [ {"current_key" : "key goes here"} ]
.
этот метод помог мне, пока никто из других не работал, поэтому, надеюсь, это кому-то поможет.
нажмите Обзор - > значок шестеренки - > настройки проекта.
перейти к загрузке последней конфигурации и нажмите на google-service.кнопка json для загрузки файла и сохранения его в папку приложения и компиляции снова. Наслаждайтесь!
вам нужно добавить отпечатки пальцев сертификата SHA в свой проект, а затем загрузить Google-services.снова файл jason, который должен содержать "api_key": [{ "current_key": "xxxxxx" }] автоматически.
вы можете просмотреть следующую страницу, чтобы увидеть, как генерировать отпечатки пальцев:
https://developers.google.com/android/guides/client-auth
в windows просто выполните следующую команду и используйте android в качестве пароля для отладки цель:
keytool -exportcert -list -v -alias androiddebugkey -keystore %USERPROFILE%\.android\debug.keystore
Использование Firebase
GoogleServices'. > Missing api_key/current_key object
я получил эту ошибку после обновления существующего проекта до новых служб Firebase.
Созданный google-сервис.в JSON файл, загруженный из страница настроек проекта firebase не входить api_key
нужны.
из других ответов здесь это выглядит как Google/Firebase Облако Messaging (GCM/FCM) необходимо добавить для этого
api_key
должны быть включены вgoogle-service.json
файл.
поэтому я добавил зависимости от firebase FCM перед загрузкой файла снова, и на этот раз ключ был включен.
включить FCM (GCM)
dependencies {
compile 'com.google.firebase:firebase-messaging:9.0.0'
}
если вы не хотите перенастроить и загрузить google-services.json
file затем вы можете получить ключ api непосредственно из консоли firebase. Просто перейдите в
обзор > добавить другое приложение > Web
вы получите конфигурацию базы данных, которая будет содержать apiKey
. Просто скопируйте это значение и поместите его в current_key
значение, обозначенное XXX ниже
"api_key": [{ "current_key": "XXX" }]
для переносчиков firebase:
убедитесь, что вы добавили хотя бы один отпечаток пальца в настройках проекта и повторно загрузить в Google-сервисов.файл json
Если вы используете firebaes, вам нужно скопировать serverKey из firebase в google-services.в JSON
"api_key": [{ "current_key": "SERVER_KEY"}
чтобы получить ключ сервера, Goto ProjectOverview> настройки проекта > CloudMessaging > копировать или создавать и копировать serverKey..