Android MultiDexとは何ですか?質問する

Android MultiDexとは何ですか?質問する

MultiDex に関する投稿は多数あります。build.gradleのセクションmultiDexEnabled trueを含め、エラーが解決されることが時々あります。defaultConfig

しかし、この機能とは一体何なのでしょうか? どのようなシナリオで使用できるのでしょうか?

ベストアンサー1

引用ドキュメント:

Android アプリケーション (APK) ファイルには、Dalvik Executable (DEX) ファイル形式の実行可能バイトコード ファイルが含まれており、アプリの実行に使用されるコンパイル済みコードが含まれています。Dalvik Executable 仕様では、Android フレームワーク メソッド、ライブラリ メソッド、独自のコード内のメソッドなど、1 つの DEX ファイル内で参照できるメソッドの総数が 65,536 に制限されています。この制限を超えるには、アプリのビルド プロセスを複数の DEX ファイルを生成するように構成する必要があります。これをマルチデックス構成と呼びます。

つまり、この機能は、複雑なアプリをコンパイルできるようにするものです。この機能を使用するシナリオは、64K DEX メソッド参照制限に達したためにアプリがコンパイルに失敗したときです。これは、次のようなビルド エラーとして表示されます。

Conversion to Dalvik format failed: Unable to execute dex: method ID not in [0, 0xffff]: 65536

おすすめ記事