How to set canOverrideExistingModule=true in React Native for Android Apps?
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:
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.
The name of the package associated to this error is not AirMapModule
but MapsPackage
from com.airbnb.android.react.maps
.
In your MainApplication.java
in directory : android/app/src/main/java/../../
remove any duplicate entry of :
- the import package :
import com.airbnb.android.react.maps.MapsPackage
- the call to the constructor of the module :
new MapsPackage()
in functiongetPackages
Go to file "MainApplication.java" (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.
Open the MainApplication.java
file by this address: android/app/src/main/java/com/projectName/MainApplication.java
and add the following code to MainApplication.java
file:
@Override
public boolean canOverrideExistingModule() {
return true;
}
And everything became correct.