こんばんは。今日もお仕事お疲れ様です。
Firebase Cloud firestore を使用したFlutterのブロジェクトでAndroid版アプリをビルドするとき、エラーになってしまいビルドできないことがありました。
使用しているライブラリ
cloud_firestore
: ^0.14.3
発生するエラー
D8: Cannot fit requested classes in a single dex file (# methods: 82189 > 65536) com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: The number of method references in a .dex file cannot exceed 64K.
これはどういうことかというと、俗に64K問題と呼ばれているもので、単一のDEXより参照できるメソッドが 65536 個に制限されているものです。上記のエラー例であれば、 82189 個のメソッドが存在するためエラーとなっているようです。そんな問題があるんだ。。。わからん。
解決方法
解決方法はとても簡単です。
android/app/build.gradle に65536を超えて参照できる設定を記述するだけです。
具体的には「multiDexEnabled true」を下記の位置に追記します。
android {
:
defaultConfig {
:
multiDexEnabled true
}
:
}
これぐらいライブラリの中でいい感じに吸収してくれませんかね。
参考URL
https://developer.android.com/studio/build/multidex
created by Rinker
¥3,740
(2024/12/14 16:12:28時点 楽天市場調べ-詳細)
created by Rinker
¥4,048
(2024/12/14 15:31:02時点 楽天市場調べ-詳細)