Отсутствует ключ api / текущий ключ с сервисами Google 3.0.0

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

Error build

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

: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, я сталкиваюсь с этим.Нажмите на меню приложения и нажмите "Управление".

enter image description here

вы можете скачать google-services.снова json.

enter image description here


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

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

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


хотя принятый ответ Jozka Jozin и его комментарии, облачные сообщения не связаны и не требуются.

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

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

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

1) choose an app

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

Close the popup!

3: ОПЦИЯ ADMOB!

the hidden option of admob

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

enable it!

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

generate configuration files

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

we made it!

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


можно скачать снова.

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

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


первый в 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"} ].

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


enter image description here

нажмите Обзор - > значок шестеренки - > настройки проекта.

enter image description 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..