LoginSignup
0
0

More than 3 years have passed since last update.

FlutterでFirebase Pluginを追加した際に発生するビルドエラーの対応

Posted at

こんなエラーがおきました

FlutterでFirebaseを使用する際にはFirebase Pluginを使用するのが一般的です。
Pluginはpubspec.yamlのdependenciesにPluginの名前、バージョンを追記します。

pubspec.yaml

dependencies:
  flutter:
    sdk: flutter
  firebase_core: ^0.4.0+6

これでAndroid Studioでビルドすれば無事導入完了・・・と思ったら、下記のようなエラーがでました。

ビルドエラー
D8: Cannot fit requested classes in a single dex file (# methods: 72501 > 65536)
FAILURE: Build failed with an exception.

原因

「a single dex file」
つまり、Androidの1つのAndroidのバイナリファイル内に含めることができるメソッドの数は65536までという上限があり、その上限を超過したためにビルドが失敗していました。

対処方法

Androidには1アプリケーションのdexファイルを複数に分割するMultidexという機能があります。こちらを有効にすることで上記エラーを回避できます。
対応はbuild.gradleに下記2件の設定を追加するだけです。

build.gradle
android {
    defaultConfig {
        multiDexEnabled true            // 1.ここを追加
    }

    buildTypes {
        release {
           multiDexKeepFile file('multidex-config.txt')    // 2.ここを追加
        }
    }
}

さいごに

Firebase Plugin1つだけの導入でこのエラーにぶつかるとは思っても見ませんでした・・・。

参考

https://github.com/flutter/flutter/issues/27682
https://github.com/flutter/flutter/issues/21009
https://developer.android.com/studio/build/multidex?hl=ja

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0