開発中のビルドは問題なく通ってたのですが、ストア公開用の署名付きビルド作成時にこういったエラーが発生し、ビルドが失敗しました。
Error: null, Cannot fit requested classes in a single dex file (# methods: 71451 > 65536)
The number of method references in a .dex file cannot exceed 64K.
64Kを超えるメソッドを定義した時は特別な対応をする必要があるので、下記サイトの手順通りに対応を行います。また、64Kは導入したライブラリやSDKの中のメソッド数も含むので結構、頻繁に発生するのではないかと思います。
64K を超えるメソッドを使用するアプリ向けに multidex を有効化する | Android Developers
Application クラスをオーバーライドしない場合、次のようにマニフェスト ファイルを編集して、<application> タグで android:name を設定します。
とありましたが、私の環境ではマニフェストに
<application android:name="android.support.multidex.MultiDexApplication" >
と記載したところ、unresolv multidex.MultiDexApplication
となったので、マニフェストには特になにも記載せず、app/build.gradle
のみに手順通り
android { compileSdkVersion 28 defaultConfig { ... multiDexEnabled true } } ... dependencies { ... implementation 'com.android.support:multidex:1.0.3' }
と記述して署名付きビルドしたところ問題なくビルドができ、Google Play Storeにて公開できました。
リンク
リンク