cordova androidと firebaseのバージョンアップで 急にビルドできなくなった。
ブログもアプリも放置してましたが久しぶりに少し手を入れようとしたらビルドエラーで半日ハマったのでメモ。
まとめ:
・現象
cordova androidのバージョンが古かったのと、
2019/6/17にgoogleがfirebaseのメジャーバージョンを変えたらしく、cordova androidの
プラグインcordova-plugin-firebaseでビルドできなくなった。
firebase.google.com
・解決策
https://github.com/arnesson/cordova-plugin-firebase/issues/1081
dpa99cさんのおかげで何とかなった。以下で解決。
cordova platform rm android cordova plugin rm cordova-plugin-firebase cordova plugin add cordova-plugin-firebasex cordova plugin add cordova-plugin-androidx-adapter cordova platform add android@8.0.0
以下詳細(ハマった手順)
いつものように
cordova run android
したら長々とエラーが出てきて、よく見たら以下のようなエラーがあった。
他にもaapt2のエラーと書かれてた気がする。
resource android:attr/ttcIndex not found. resource android:attr/fontVariationSettings not found.
早速ググると、SDKのバージョンを28にするように書かれている。それか27で無理やり頑張るか。
error: resource android:attr/fontVariationSettings not found - Stack Overflow
build.gradleを編集するなどしてどちらも試したが駄目だった。
◇cordova androidのバージョンアップ問題
cordova android のバージョンが古いのでは?と思って調べてみると自分のは7.11だったが
8.00が出ている模様。ここでSDK28がサポートされるようになった?っぽい。
Cordova Android 8.0.0 Released! - Apache Cordova
とりあえず入れた。
◇firebaseの問題
すると今度はfirebase絡みのエラーが発生。
色々サイトを回った挙句、firebaseのバージョンアップの情報に行きついた。
https://github.com/arnesson/cordova-plugin-firebase/issues/1081
ちなみにこんな感じのエラーが出てた。
Task :app:fabricGenerateResourcesDebug FAILED ERROR - Crashlytics Developer Tools error. java.lang.IllegalArgumentException: Crashlytics found an invalid API key: null. Check the Crashlytics plugin to make sure that the application has been added successfully! とか What went wrong: Execution failed for task ':app:compileDebugJavaWithJavac'. とか
疲れた。今後ゆっくり更新していきたい。