💡

【Flutter】AndroidのMultidexを有効にして64K問題を解消する

2023/09/09に公開

はじめに

Androidエミュレータを立ち上げてターミナルでfulutter runを実行すると以下のエラーが出ました。

$ flutter run
[!] App requires Multidex support
    Multidex support is required for your android app to build since the number of methods has exceeded 64k. See
    https://docs.flutter.dev/deployment/android#enabling-multidex-support for more information. You may pass the
    --no-multidex flag to skip Flutter's multidex support to use a manual solution.

    Flutter tool can add multidex support. The following file will be added by flutter:

        android/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.java

Do you want to continue with adding multidex support for Android? [y|n]:

原因

Androidではメソッド数が64kを超えるとアプリをビルドできません。これを64K問題といいます。
64K問題を解決するにはMultidexというライブラリが必要です。

解決法

エラー文の後にDo you want to continue with adding multidex support for Android? [y|n]:と表示されるのでyを入力します。
するとFlutterはandroid/app/src/main/java/io/flutter/app/FlutterMultiDexApplication.javaを自動生成してMultidexを有効化、アプリのリビルドを実行します。

Do you want to continue with adding multidex support for Android? [y|n]: y
Multidex enabled. Retrying build.

参考

https://minpro.net/android-64k-problems
https://docs.flutter.dev/deployment/android#enabling-multidex-support

Discussion