LoginSignup
9
2

More than 3 years have passed since last update.

Androidビルドエラーについて

Posted at

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 に以下のように設定を行います。

config.xml(Cordova9.0プロジェクトの場合)
<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プラグインを利用して、今回紹介したビルドエラーが出力されている場合は、一度、設定内容を見直してみてください。

9
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
2