1. ホーム
  2. android

[解決済み] Android MultiDexとは?

2022-06-14 23:25:02

質問

MultiDexについての投稿が多くあります。私は、時々、以下のようなエラーが解決されるのを経験しています。 multiDexEnabled true の中に defaultConfig セクションに追加します。

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

どのように解決するのですか?

引用元 ドキュメント :

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

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

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