【Androidアプリ開発】ビルド時にcannot fit requested classes in a single dex fileとなった場合の対策
結論
build.grandle(モジュールレベル)に対して下記のように追加してsyncを行ってから再度ビルドを実施
android { defaultConfig { ... minSdkVersion 15 targetSdkVersion 28 multiDexEnabled true ←この行を追加(Dexファイルを複数利用) } ... } dependencies { implementation 'com.android.support:multidex:1.0.3' ←この行を追加(minSdkVersion を 20 以下に設定している場合) }
解説
アプリ、およびアプリの参照するライブラリが 65,536 メソッドを超えると、ビルドエラーが発生するようになるとのことです。
65,536メソッド以上に対応するために、Dexファイルを複数利用できる設定に変更するのが今回の対応です。
上記内容と解決方法について下記リンク(Android Developers)に記載してありましたが、
AndroidManifest.xmlについても修正が必要となっていましたが実際には不要でした。
Application クラスをオーバーライドしている場合はやる必要があるかもしれませんが、
私の場合はオーバーライドしていない場合の手順を踏むと別のエラーが出ました。
Firebaseを利用しようとして、ライブラリの読み込みを追加したら、今回の事象が発生してしまいました。
build.grandleの修正後はsyncがうまくいっても実際にビルドするところまで試したほうがいいですね。