web-dev-qa-db-ja.com

Google Services 3.0.0にapi_key / currentキーがありません

プロジェクトを最新バージョンの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

build.gradle(ルート):

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のplayサービスライブラリではうまく機能します。

解決策について何か考えがありますか。

155
palmsnipe

次から新しい設定ファイル(google-services.json)を生成します。 https://developers.google.com/cloud-messaging/Android/client#get-config

クライアントセクションに"api_key": [ { "current_key": XXX } ]を含む設定ファイルが新しくなりました

更新:または開発者コンソールで手動で有効にされたサービスとキーを生成します。

158
Jozka Jozin

Google-services.jsonファイルに空の現在のキー値を追加すると、この問題が解決しました

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

88
Ajax -the Max

はい。Firebaseを初めて使用するときは、そのように直面します。アプリメニューをクリックして、[管理]をクリックします。

enter image description here

もう一度google-services.jsonをダウンロードできます。

enter image description here

34

この問題を抱えている人は、今のところ、 https://developers.google.com/cloud-messaging/Android/client#getでアプリにサービスを追加する必要があります。 -config

私の場合は、admobを追加し(既にanalyticsとgcmを持っています)、その後ファイルはapi_keyで生成されました。

私はそれがバグだと思っていますし、まもなく修正されるでしょう。

9
Elvis Oliveira

Jozka Jozinの承認された回答とそのコメントはありますが、Cloud Messagingは関連性も必須要件もありません。

それにもかかわらず、google-services.jsonを再生成することが解決策の鍵です(だから私は彼に投票しました)。以下は私がしたことです。

ご存じのとおり、Analyticsの設定ファイルは Google Developers Guide から生成できます。

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!

結論:対話型生成ツールのUIは少しわかりにくいです...

8
hata

google-services.jsonファイルをもう一度ダウンロードできます。

ダウンロードする手順

1)。 Firebaseコンソールのアプリのトップメニューをクリックしてください。

2)。管理をクリックします。

3)。あなたはDownload the latest configファイルオプションを見つけ、あなたのアプリケーションでgoogle-services.jsonファイルをダウンロードして置き換えます。

7
Anubhav

まずあなたの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回の試行の後、有効なAPIキーを持つjsonファイルを入手しました。

4
Doge

Firebaseを使用していない場合は、google-services.json設定ファイルを生成するための正しいリンクが実際に見つかります 。ここで

3
Phileo99

プロジェクトに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
2
Hexise

enter image description here

概要 - >歯車アイコン - >プロジェクト設定をクリックします。

enter image description here

最新の設定をダウンロードするに行き、google-service.jsonボタンをクリックしてファイルをダウンロードし、アプリフォルダに保存して再度コンパイルします。楽しい!

2
Pinkesh Darji

google-services.jsonを https://developers.google.com/cloud-messaging/Android/client#get-config で再生成します。重要なのは、「サービスの選択」の手順でクラウドメッセージングを有効にする必要があるということです。新しいgoogle-services.jsonファイルを開くと、次のような言葉が表示されます。

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

この単語がない場合、またはcurrent_keyの値がない場合は正しいファイルではありません

2
dx3904

私はここで答えられていないこれらのステップでこの問題を解決することができました。この回答はクラウドメッセージングを有効にするのではなく、サーバーキーを取得するだけです。

まず最初に、Firebase Consoleに行き、そして次にProject Settingsに行き、そして次に "Cloud Messaging"タブをクリックしてください。 「サーバーキー」と表示されている場所を確認し、長いキーが表示されていない場合(「送信者ID」の番号ではない)、「キーの再生成」をクリックすると長いキーが表示されます。そのキーをコピーして、google-services.jsonファイルの"api_key": [ {"current_key" : "key goes here"} ]に配置します。

他の誰も働いていない間、この方法は私を助けました、それでうまくいけばこれは誰かに役立ちます。

2
David Velasquez

Firebaseを使用する

GoogleServices'. > Missing api_key/current_key object

既存のプロジェクトを新しいFirebase Servicesに更新した後、このエラーが発生しました。 firebaseプロジェクト設定ページ からダウンロードした生成されたgoogle-service.jsonファイルには、必要なapi_keyが含まれていませんでした。

ここの他の回答からは、Google _/ Firebase Cloud Messaging (GCM/FCM)をこのapi_keygoogle-service.jsonファイルに含めるために追加する必要があるようです。

そのため、ファイルを再度ダウンロードする前に、firebase FCMに依存関係を追加しましたが、今回はキーが含まれています。

FCMを含める(GCM)

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

google-services.jsonファイルを再設定してダウンロードしたくない場合は、firebase consoleから直接apiキーを取得できます。に行くだけ

概要>他のアプリを追加> Web

apiKeyを含むデータベースの設定を取得します。その値をコピーして、下のXXXで示されるcurrent_key値に配置するだけです。

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

Firebaesを使っているなら、fireKeyからgoogle-services.jsonにserverKeyをコピーする必要があります。

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

サーバーキーを取得するには、Goto ProjectOverview>プロジェクト設定> CloudMessaging>コピーOR serverKeyを生成してコピーします。

0
Tarun Voora

Firebase Migratorの場合

プロジェクト設定に少なくとも1つの指紋を追加したことを確認し、google-services.jsonファイルを再ダウンロードしてください。

0
Su-Au Hwang