[Flutter]Firebase cloud firestoreをAndroidで使おうとするとビルドできずエラーになる件

こんばんは。今日もお仕事お疲れ様です。

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です