[email protected] について


Firebase でプッシュ通知などを行う場合、cordova-plugin-firebase プラグインがよく利用されています。
この cordova-plugin-firebase プラグインが、2019年5月7日ごろから Android ビルドで問題が発生するようになりました。

cordova-plugin-firebase では、ライブラリーで使用するバージョンが + 指定されているため、ライブラリーのバージョンが更新されたことにより、ビルドに問題が発生しているようです。

現在、New error on android build since 06-05-2019 #1057 でも回避策などが報告されていますが、cordova-plugin-firebase プラグインを Monaca で利用する場合には、次のように設定を変更する必要があります。

2019年5月18日現在、正常に Android ビルドができることを確認していますが設定を変更しているため、動作保証はありません。
修正を行う場合は、ご自身の判断でお願いします。

2019年6月17日に Firebase ライブラリーが更新されたため、現在は、下記の修正を行っても Android ビルドは失敗します。
詳しくは、Firebase Android Release Notes / Update - June 17, 2019) を参照してください。

2019年6月20日現在、正常に Android ビルドができることを確認していますが設定を変更しているため、動作保証はありません。
修正を行う場合は、ご自身の判断でお願いします。

plugin.xml の修正

はじめに、[email protected] の Zip ファイルをダウンロードして、解凍します。

ルートフォルダーにある plugin.xml の以下の設定

plugin.xml
<framework src="com.google.android.gms:play-services-tagmanager:+" />
<framework src="com.google.firebase:firebase-core:+" />
<framework src="com.google.firebase:firebase-messaging:+" />
<framework src="com.google.firebase:firebase-config:+" />
<framework src="com.google.firebase:firebase-perf:+" />

plugin.xml
<framework src="com.google.android.gms:play-services-tagmanager:16.0.8" />
<framework src="com.google.firebase:firebase-core:16.0.8" />
<framework src="com.google.firebase:firebase-iid:17.1.1" />
<framework src="com.google.firebase:firebase-messaging:17.5.0" />
<framework src="com.google.firebase:firebase-config:16.4.0" />
<framework src="com.google.firebase:firebase-perf:16.2.4" />

に変更します。

helper.js の修正

/scripts/android/helper.js の以下の設定

helper.js
var googlePlayDependency = whitespace + 'classpath \'com.google.gms:google-services:4.2.0\' // google-services dependency from cordova-plugin-firebase';

helper.js
var googlePlayDependency = whitespace + 'classpath \'com.google.gms:google-services:4.1.0\' // google-services dependency from cordova-plugin-firebase';

に変更します。

build.gradle の修正

/src/android/build.gradle の以下の設定

build.gradle
compile 'com.google.firebase:firebase-auth:+'

build.gradle
compile 'com.google.firebase:firebase-auth:16.2.0'

に変更します。

plugin.xml と helper.js と build.gradle を修正したら、再び Zip ファイルにすることで、Monaca プロジェクトにインポートすることができます。

注意点

今回の修正では、ライブラリーのバージョンが、固定になっています。
そのため、Monaca プロジェクトに複数の Cordova プラグインを追加した場合は、バージョン競合が発生する可能性があります。

おわりに

これまでビルドできていた [email protected] プラグインがビルドできなくなった場合は、一度、試してみてください。