Hello Friends đź‘‹,

Welcome To Infinitbility! ❤️

This tutorial will help you to enable multidex in your react native project, let first understand why we need to enable multidex?

why we need to enable multidex?

When we added many dependencies in our project, it may bump you over the 64k method limit on the Android build system. Once this limit has been reached, you will start to see the following error whilst attempting to build your Android application:

Execution failed for task ':app:mergeDexDebug'.

When we face multidex issues?

your minSdkVersion is set to 21 or higher, multidex is enabled by default and you do not need to enable the multidex.

However, if your minSdkVersion is set to 20 or lower, then you must enable the multidex and make the following modifications to your app project:

How to enable multidex in react native

To enable it’s very simple, follow below three steps and solve your multidex issue

Step 1

First, we have to tell gradle to turn on multidex with a directive.

Open the /android/app/build.gradle file and enable multidex on the defaultConfig.

build.gradle
android {
    defaultConfig {
        // ...
        multiDexEnabled true // <-- ADD THIS in the defaultConfig section
    }
    // ...
}

Step 2

Second, we have to add multidex dependencies, Open the /android/app/build.gradle file and find dependencies section and add implementation 'androidx.multidex:multidex:2.0.1' dependencies like below.

build.gradle
dependencies {
  implementation 'androidx.multidex:multidex:2.0.1'  // <-- ADD THIS DEPENDENCY
}

Step 3

The 3rd step is to alter your android/app/src/main/java/.../MainApplication.java file to extend MultiDexApplication like so:

MainApplication.java


// ... all your other imports here
import androidx.multidex.MultiDexApplication; // <-- ADD THIS IMPORT


// Your class definition needs `extends MultiDexApplication` like below
public class MainApplication extends MultiDexApplication implements ReactApplication {

Once added, rebuild your application: npx react-native run-android.

Step 4

Step Four is only for that dev who getting still issues after being done and test step 3.

Due to different versions, maybe you will be getting issues after doing all the above steps.

No worry, Change your multidex dependencies

build.gradle

dependencies {
  implementation 'com.android.support:multidex:1.0.3'  // <-- CHANGE TO THIS DEPENDENCY
}

And MainApplication.java file also

MainApplication.java


// ... all your other imports here
import android.support.multidex.MultiDexApplication; // <-- CHANGE TO THIS IMPORT

Once added, rebuild your application: npx react-native run-android.

Thanks for Reading…