Androidビルドを行った際に、比較的多いビルドエラーとして、google-services.json
ファイルに関連したものがあります。この google-services.json ファイルは、FCMプッシュ通知を行う際に必要になるファイルになります。
今回は、この google-services.json ファイルに関連したビルドエラーを紹介します。
ビルドエラーその1
Android project created with cordova-android@8.0.0Source path does not exist: google-services.json
または
CordovaError: Promise rejected with non-error: 'Please place your Firebase configuration file (google-services.json) in the root folder of this project.'
このエラーの原因には、以下が考えられます。
- google-services.json 用の設定はあるが、設定場所に google-services.json が存在しない。
Monacaバックエンドのプッシュ通知用Cordovaプラグイン(MonacaBackendプラグイン)の場合、google-services.json は、Monacaプロジェクトのルートに配置し、config.xml に以下のように設定を行います。
<platform name="android">
<resource-file src="google-services.json" target="app/google-services.json"/>
</platform>
Monacaプロジェクトのルートに google-services.json を配置する場合は、MonacaクラウドIDEのメニューにある、
ファイル
> アップロード
から行うことができます。
Monacaプロジェクトのルートにファイルをアップロードする場合のパス指定は、「/」を設定します。
プッシュ通知用Cordovaプラグインによっては、config.xml に設定を行わないものもあります。利用しているCordovaプラグインのドキュメントを確認して、正しい設定を行ってください。
ビルドエラーその2
Execution failed for task ':app:processDebugGoogleServices'.
> File google-services.json is missing. The Google Services Plugin cannot function without it.
Searched Location:
/tmp/download/platforms/android/app/src/nullnull/debug/google-services.json
/tmp/download/platforms/android/app/src/debug/nullnull/google-services.json
/tmp/download/platforms/android/app/src/nullnull/google-services.json
/tmp/download/platforms/android/app/src/debug/google-services.json
/tmp/download/platforms/android/app/src/nullnullDebug/google-services.json
/tmp/download/platforms/android/app/google-services.json
このエラーの原因には、以下が考えられます。
- config.xml に google-services.json の設定がない。
- config.xml に設定されている google-services.json の設定が間違っている
- 正しく google-services.json の設定が行われていない。
config.xml の設定や利用しているCordovaプラグイン用の設定に間違いがないか確認してみてください。
ビルドエラーその3
Execution failed for task ':app:processDebugGoogleServices'.
> No matching client found for package name 'com.example.helloworld'
このエラーの原因には、以下が考えられます。
- Monacaプロジェクトのパッケージ名と google-services.json に設定されているパッケージ名が一致していない。
Monacaプロジェクトのパッケージ名とFirebaseコンソールにある対象のプロジェクトに設定されているパッケージ名が一致しているか確認してみてください。
おわりに
今回紹介したビルドエラーは、プッシュ通知用のCordovaプラグインを利用している際に比較的多く発生します。プッシュ通知用のCordovaプラグインを利用して、今回紹介したビルドエラーが出力されている場合は、一度、設定内容を見直してみてください。