浜松のWEBシステム開発・スマートフォンアプリ開発・RTK-GNSS関連の開発はお任せください
株式会社シーポイントラボ
TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:静岡県浜松市中区富塚町1933-1 佐鳴湖パークタウンサウス2F

【android・cordova】File google-services.json is missing from module root folder. The Google Services Plugin cannot function without itエラーでgoogleService.jsonを見つけられなかった時に試したこと

firebaseとアプリを連携したかったので公式に従って進めていたところ

ビルド中に以下のようなエラーが発生した。

File google-services.json is missing from module root folder. The Google Services Plugin cannot function without it

アプリの登録手順は以下の通り

①firebaseプロジェクトに自アプリ(android)を登録

②ダッシュボードからgoogleSevice.jsonを取得後アプリ直下にコピー

③プラグインにcordova-plugin-fcmを追加して以下のようにindex.jsにトークンを取得

</pre>
window.FCMPlugin.getToken(function (token) {
console.log(token);
});
window.FCMPlugin.onNotification(function (data) {
if (data.wasTapped) {
window.localStorage.setItem('noticeCategory', data.category);
}
});
<pre>

エラーを見る限りgoogleSevice.jsonを探したけどアプリ直下に無いよと言われてるっぽい。

取得したgoogleSevice.jsonは確かにアプリ直下に追加したのですが、上手く認識してくれない模様。

プラグインがplatformsに上手く入っていないと思いcordova platforms rm android後

cordova plugin add androidをしてプラットフォームを再生成。

再度ビルドをするも・・・失敗。

他の作ったアプリとgradleファイルを比較してみると、implementationしているライブラリに

少し差異を発見。

 

ather app↓

implementation “com.google.firebase:firebase-core:16.0.8”
implementation “com.google.firebase:firebase-messaging:17.5.0”

current app↓
implementation “com.google.firebase:firebase-core:+”
implementation “com.google.firebase:firebase-messaging:+”

 

よく見るとatherappではバージョン指定をしていて、今エラーがでているアプリは+指定で呼び出している。

でatherappのようにバージョンを指定するとエラーが解消された。

どうやら、この呼び方だと常に最新のライブラリを呼び出してくるらしく、それに含まれた機能が

googleService.jsonを見つける機能が消されていて無かった。もしくは違うロジックで間違ったフォルダを

探していたと思われます。

+で設定していると思わぬ依存関係のエラーが生まれるという訳ですね。

firebase系のライブラリがどのように変わっていくのかは詳しくは分かりませんが、今後も最新のライブラリ(+)を指定するときは

依存関係に引っかからないかよく確かめないといけないということですね。

  • この記事いいね! (0)