先日、Androidアプリを開発していたら以下のようなエラーが出ました。
D8: Cannot fit requested classes in a single dex file. Try supplying a main-dex list.
今回はこのエラーの対処法についてのメモです。
「Cannot fit requested classes in a single dex file.」のエラーの対処法
いろいろ調べた結果、以下のサイトが参考になりました。
こちらのサイトによると、一定のメソッド数以上のプロジェクトをビルドする場合、制約によりビルドエラーが出る仕様みたいです。
上記のようなプロジェクトの場合はapp/build.gradleの「defaultConfig」に「multiDexEnabled true」を設定することでこのエラーを回避できるようです。
android { defaultConfig { minSdkVersion 16 targetSdkVersion 28 multiDexEnabled true } }
「multiDexEnabled true」の設定を追加したらビルドエラーが解消されました。
今回のビルドエラーが発生したAndroidプロジェクトは複数の広告SDKを導入しているので、メソッド数が多くなってしまったようです。