2017-12-08 11 views
0

友人からアンドロイドプロジェクトを借りて、インポート後にThe application was configured for some other audience - appId doesn't match the one in google-services.jsonというエラーが発生しました。その後、私はJavaファイルのパッケージ名を変更してfirebaseを再接続する必要があることを知っていました。私はエラーを取得しておいてください。Android Firebase:パッケージに一致するクライアントが見つかりません

Error:Execution failed for task ':app:processDebugGoogleServices'. 
> No matching client found for package name 'com.***.***.chitchat' 

私はAndroidManifest.xmlを、build.gradleとGoogle-services.jsonに同じパッケージ名を持っています。不思議なのは、必要な変更を加えた後、誰もが問題を解決したということです。鉱山はまだエラーを投げます。何故ですか?

答えて

1

Javaコードのパッケージ名は、実際にはこのエラーとは関係ありません。これはあなたのアプリケーション全体のアプリケーションIDです(あなたのbuild.gradleで見る必要があります)。

Googleサービスプラグインは、アプリケーションIDを調べ、google-services.jsonファイルで罰金を科すパッケージ名と照合しようとします。一致するものがなければ、そのエラーが発生します。これを解決するには、build.gradleのアプリケーションIDを、Firebaseコンソールでアプリケーション用に設定されたパッケージ名と一致させるか、アプリケーションIDと一致するパッケージ名でコンソールに新規作成します。

友人からプロジェクトを借りた場合、誰もが同じアクセス権を持っていない限り、あなたは通常google-services.jsonを保有していると思われますプロジェクト。自分のプロジェクトで作業している場合は、コンソールにそのプロジェクトを設定し、アプリに合わせて新しいgoogle-services.jsonを生成する必要があります。

+0

私は、build.gradle内のapplicationIdがアプリケーションパッケージ名とは独立していると読んだので、私はそれを変更しました。私はgoogle-services.jsonを再生成しましたが、JSONツリーがbuild.gradleのapplicationIdに対応する値を持っていることがはっきり分かるときでも、一致するクライアントはまだありません。 –

+0

ファイルの内容を投稿しますか? –

+0

ねえ、問題が見つかりました。 2つのgoogle-services.jsonがありました。 1つは、私が使用していたFirebaseツールで不思議に更新されていなかった 'debug'ビルドバリアントの下にありました。 Firebaseツールが更新したものはapp/google-services.jsonに、もう1つはapp/src/debug/google-services.jsonにありました。しかし、私が言ったように、google-services.jsonに一致するようにapplicationIdを変更する必要があります。パッケージ名を変更する必要はありません。 –

関連する問題