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

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

 

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

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

 

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

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

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

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

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

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

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

 

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

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

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

あるいは

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

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

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

アバター

北川 博之(きーぼー)

みんなのプログラミング by Telulu LLC代表 大阪府生まれ。京都大学経済学部経済学科卒業。 2000年より、日本生命保険、ニッセイアセットマネジメント、パトナム・インベストメンツ(米国)で、日本株トレーダー・アナリスト、経営企画、システム開発等の業務に従事。主に日本株の売買執行・投資分析、経営計画の策定、海外投資家向け日本株営業、社内トレーディングシステム及び経理システムの開発等を行う。 2016年、合同会社てるる設立。スマホアプリプログラマーとして「新感覚脳トレアプリ・記憶戦隊オボエルンジャー」「Meisoー1番シンプルなマインドフルネス瞑想アプリ」をはじめとした、メンタルヘルス・知育系アプリを中心に4タイトル・計8本(Android・iOS)をリリース。 2017年、自身のこれまでの社会人経験・プログラミング経験・子育て経験を基に、プログラミングを通じて人々の人生を豊かにして、未来に希望の持てる明るい社会の実現に貢献したいとの想いから、プログラミング完全初心者と挫折経験のある人を支援する「プログラミング挫折撲滅プロジェクト・みんなのプログラミング by Telulu LLC」を設立し、プログラミングサポーター活動と心理カウンセリング活動を開始。これまでに3,000名を超える方のプログラミング挫折撲滅をサポート。

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

みんプロにかける想い

  1. トランプ政権2期目に起こるIT業界激震予想(後編:ブロックチェーンによるインターネットの再民主化が行われる可能性)

  2. こんな無駄な苦労をするのはぼくで最後にしたい(ぼくがプログラミング講座をはじめたわけ)

  3. プログラミングを通じて「やわらかい世の中」を作りたい(ぼくがプログラミング講座をやっている本当の理由②)

  4. トランプ政権2期目に起こるIT業界激震予想(前編:スマホの世界の構造問題に荒療治が行われる可能性)

  5. プログラミングは手段の1つに過ぎない(目的は自分のアイデアを形にすること)

みんプロ作成アプリ




みんプロ代表の黒歴史


TOP