The number of method references in a .dex file cannot exceed 64k API 17 The number of method references in a .dex file cannot exceed 64k API 17 android android

The number of method references in a .dex file cannot exceed 64k API 17


You have too many methods. There can only be 65536 methods for dex.

As suggested you can use the multidex support.

Just add these lines in the module/build.gradle:

android {       defaultConfig {        ...                // Enabling multidex support.        multiDexEnabled true    }    ...}dependencies {  implementation 'androidx.multidex:multidex:2.0.1'  //with androidx libraries  //implementation 'com.android.support:multidex:1.0.3'  //with support libraries  }

Also in your Manifest add the MultiDexApplication class from the multidex support library to the application element

    <?xml version="1.0" encoding="utf-8"?>    <manifest xmlns:android="http://schemas.android.com/apk/res/android"        package="com.example.android.multidex.myapplication">        <application            ...            android:name="androidx.multidex.MultiDexApplication">            <!-- If you are using support libraries use android:name="android.support.multidex.MultiDexApplication" -->            <!--If you are using your own custom Application class then extend -->            <!--MultiDexApplication and change above line as-->            <!--android:name=".YourCustomApplicationClass"> -->            ...        </application>    </manifest>

If you are using your own Application class, change the parent class from Application to MultiDexApplication.
If you can't do it, in your Application class override the attachBaseContext method with:

@Overrideprotected void attachBaseContext(Context newBase) {    super.attachBaseContext(newBase);    MultiDex.install(this);}

Another solution is to try to remove unused code with ProGuard - Configure the ProGuard settings for your app to run ProGuard and ensure you have shrinking enabled for release builds.


In android/app/build.gradle

android {compileSdkVersion 23 buildToolsVersion '23.0.0'    defaultConfig {        applicationId "com.dkm.example"        minSdkVersion 15        targetSdkVersion 23        versionCode 1        versionName "1.0"        multiDexEnabled true    }

Put this inside your defaultConfig:

multiDexEnabled true 

it works for me


Change the app level build.gradle :

android {compileSdkVersion 23 buildToolsVersion '23.0.0'    defaultConfig {        applicationId "com.dkm.example"        minSdkVersion 15        targetSdkVersion 23        versionCode 1        versionName "1.0"        multiDexEnabled true    }

it worked for me.