[Flutter]Error while merging dex archives: The number of method references in a .dex file cannot exceed 64K.の対処法

FlutterのプロジェクトをAndroidの実機あるいはエミュレーターで動かした時に、こんな感じで、

blank

 

D8: Cannot fit requested classes in a single dex file (# methods: 85467 > 65536)
com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives: 
The number of method references in a .dex file cannot exceed 64K.
Learn how to resolve this issue at https://developer.android.com/tools/building/multidex.html

というわけのわからないエラーが出てしまったときの対処法です。

(注)Flutter2.10以降は、エラーメッセージがわかりやすくなっています。

[!] App requires Multidex support

┌─ Flutter Fix ──────────────────────────────────────────────────────────────────────────────────┐
│ Flutter multidex handling is disabled. If you wish to let the tool configure multidex, use the │
│ --mutidex flag.                                                                                │
└────────────────────────────────────────────────────────────────────────────────────────────────┘

blank

Androidでは使っているライブラリも含めて65536メソッド以上使ってはいけない

実は、Androidでは65536個以上のメソッドを参照してはいけないという縛りがあります。

アプリ、およびアプリの参照するライブラリが 65,536 メソッドを超えると、ビルドエラーが発生し、Android ビルド アーキテクチャの制限に達したことが示されます。

と言われても、自分でメソッドを65536個以上も作った覚えなんかないですよね。

実は、この「65536」という数は、自分で作ったメソッドだけじゃなくて、使っている外部のライブラリに含まれているメソッドも対象に入っています。

ですので、ライブラリをたくさん使っている場合は、このエラーに遭遇する可能性が高くなるということなのです。

じゃあ、一体どうしたらええねん!?ということですよね。

 

minSdkVersionを21(Androidのバージョン5.0)に引き上げれば解決

この解消方法は2通りあって、

1)「minSdkVersion(アプリがインストールできる最低レベルのAndroidのOSのバージョン)」を21(Androidのバージョン5.0)以上に引き上げる

blank

あるいは

2)minSdkVersion を 20 以下に設定している場合は、multidex サポート ライブラリを使用してアプリのプロジェクトに以下のように変更を加える

blank

の2通りがありますが、今の御時世ではAndroid5.0以上の端末が世界の9割以上を占めているので、個人的には1)でいいと考えています。

(詳しくは、下の動画で解説していますので、よろしければご覧ください)

blank

こんな記事も読まれています

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)
blank

はじめての方へ

blank
みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

おすすめコンテンツ

プログラミングを学ぶとどんないいことがあるのか
みんプロ式を選んでいただける6つの理由
ぼくの人生挫折ヒストリー(代表者プロフィール)
ぼくのプログラミング挫折ヒストリー(無料メール講座・6大特典付き)
今最も注目のアプリ開発ツール「Flutter(フラッター)」ミニ動画講座

みんプロ作成アプリ

blank
blank
blank
blank
blank

みんプロ式動画講座(コア・Flutter)

ゼロからのFlutter(初級編)-はじめてのプログラミングからアプリリリースまで-
Flutter中級編1-Web通信・設計・状態管理・DIの基礎-
Flutter中級編2-Firebase/地図・カメラ連携等の基礎-
Flutter中級編3-広告/アプリ内課金等の基礎-
Flutter中級編4-Webアプリとレスポンシブデザインの基礎-

みんプロ式動画講座(サテライト)

Flutter/Dartトラブルシューティング・小ネタ集(コア初級編受講で無料プレゼント)
ゼロからのGit・GitHub(コマンドラインツールを極力使わないバージョン管理入門)
Flutter/Dartにおける設計・状態管理・DIの解説集
Dart逆引き大辞典
Flutterにおけるテストの基礎
blank
blank

TOP