How to set canOverrideExistingModule=true in React Native for Android Apps?

JavaAndroidReact NativeAvd

Java Problem Overview

I built an android app using React Native, it got built successfully but when I run the app in my Android Virtual Device it shows up a full red screen with the following error:

enter image description here

I have not done native app development ever before neither do I have any knowledge of Java so I have no idea what this error means and how to fix this.

Java Solutions

Solution 1 - Java

The name of the package associated to this error is not AirMapModule but MapsPackage from

In your in directory : android/app/src/main/java/../../ remove any duplicate entry of :

  • the import package : import
  • the call to the constructor of the module : new MapsPackage() in function getPackages

Solution 2 - Java

Go to file "" (under .\android\app\src\main\java\com\projectName\)

Make sure that under getPackages() function you don't have duplicate lines (in my case I had "new MapsPackage()" twice).

Fix duplicate imports as well.

Solution 3 - Java

Open the file by this address: android/app/src/main/java/com/projectName/ and add the following code to file:

public boolean canOverrideExistingModule() {        
  return true;    

And everything became correct.

Solution 4 - Java

Go to the MainAplication file.

Remove duplicate package and remove duplicate package in getPackages() method

    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
            new VectorIconsPackage()

Then after try this command in your terminal :

  • cd android
  • ./gradlew clean

Solution 5 - Java

If the version of RN you're using is >= 0.60 then there is the possibility that auto-linking and your manual linking are doing the same thing twice. You have two options:

1- You can revert code changes in getPackages method
2- You can disable auto linking in react-native-config.js file.

Solution 6 - Java

The above solutions are all correct, but let me explain a little bit,some of above solutions suggest to override the following method.

public boolean canOverrideExistingModule() {        
  return true;    

But question is where to override? first of all, you can't override inside or file.

You should override it in the class inside some node_modules project folder and that class will be extending from ReactContextBaseJavaModule class.

In my case, it was not getting repeated in imports/adding duplicate packages but it was mainly because of auto linking at the and that was making it to repeat.

I am using react-native-contacts npm package to interact so what I did is that went inside


and this ContactsManager was extending from the ReactContextBaseJavaModule and I override there and got the problem resolved.

So as general there could be a lot of classes that will be extending from ReactContextBaseJavaModule under different projects inside node_modules, but you need to go for specific a project that will be creating duplication problem and there you should override it.

Solution 7 - Java

Go to your module (coz of which you are getting this error message) Open the module.. add this code to it...

public boolean canOverrideExistingModule() {        
  return true;    

Solution 8 - Java

You can try check in file in directory : android\app\src\main\java is have any duplicate package AirMapModule exist or not, and delete 1 if have.

Solution 9 - Java


Goto android/app/src/main/java/YOURPACKAGE/

Find method getPackages();

Remove this packages.add(new MapsPackage());

Chill Pill! :)

Solution 10 - Java

You can remove your package from

enter image description here

Solution 11 - Java

Add only the modules which are not autolinked at here,

        protected List<ReactPackage> getPackages() {
          List<ReactPackage> packages = new PackageList(this).getPackages();
          // Packages that cannot be autolinked yet can be added manually here, for 
          // example: packages.add(new MyReactNativePackage());         
          return packages;

If the module is autolinked and added the module here, you will get this error.

Solution 12 - Java

check your, in particular protected List<ReactPackage> getPackages(); the AirMapModule is probably twice in the list

Solution 13 - Java

just remove packages.add(new MapsPackage()); this line

Solution 14 - Java

if installed library react-navigation you can run via android studio. else remove library react-navigation and just yarn it's will work.


All content for this solution is sourced from the original question on Stackoverflow.

The content on this page is licensed under the Attribution-ShareAlike 4.0 International (CC BY-SA 4.0) license.

Content TypeOriginal AuthorOriginal Content on Stackoverflow
QuestionUtkarshPramodGuptaView Question on Stackoverflow
Solution 1 - JavaefxView Answer on Stackoverflow
Solution 2 - JavaBarak KakounView Answer on Stackoverflow
Solution 3 - JavaAndrew FanView Answer on Stackoverflow
Solution 4 - JavaHM Hamza ZubairView Answer on Stackoverflow
Solution 5 - JavaMahdi GhajaryView Answer on Stackoverflow
Solution 6 - JavaIrshad BabarView Answer on Stackoverflow
Solution 7 - JavaRishijay ShrivastavaView Answer on Stackoverflow
Solution 8 - JavaNguyên HoàngView Answer on Stackoverflow
Solution 9 - JavaAli AkramView Answer on Stackoverflow
Solution 10 - Javaakriti aroraView Answer on Stackoverflow
Solution 11 - JavaBumuthu DilshanView Answer on Stackoverflow
Solution 12 - JavacaopengView Answer on Stackoverflow
Solution 13 - JavaMd. Juyel RanaView Answer on Stackoverflow
Solution 14 - JavaSittisuk ChartraseeView Answer on Stackoverflow