Comment définir canOverrideExistingModule=true dans React Native pour les applications Android?
j'ai construit une application android en utilisant React Native, il a été construit avec succès, mais quand je lance l'application dans mon appareil virtuel Android il apparaît un écran rouge complet avec l'erreur suivante:
je n'ai pas fait application native de développement jamais je n'ai aucune connaissance de Java donc je n'ai aucune idée de ce que cette erreur signifie et comment résoudre ce problème.
5 réponses
Le nom du paquet associé à cette erreur n'est pas AirMapModule
mais MapsPackage
com.airbnb.android.react.maps
.
Dans votre MainApplication.java
dans l'annuaire:android/app/src/main/java/../../
supprimer toute entrée en double de :
- l'importation du package :
import com.airbnb.android.react.maps.MapsPackage
- l'appel au constructeur du module :
new MapsPackage()
dans la fonctiongetPackages
aller au fichier " MainApplication.java" (en vertu de l' .\ android\app\src\main\java\com\projectName)
assurez-vous que sous la fonction getPackages() vous n'avez pas de lignes dupliquées (dans mon cas j'ai eu "New MapsPackage()" deux fois).
Fix double des importations.
Bonne chance
@Override
public boolean canOverrideExistingModule() {
return true;
}
ajouter ce code à votre constructeur de module natif serait très bien
vous pouvez essayer le fichier check in MainApplication.java
dans l'annuaire:android\app\src\main\java
a un double paquet AirMapModule existe ou non, et supprimer 1 Si A.
aller au fichier MainAplication.. Supprimer le paquet dupliqué et supprimer le paquet dupliqué dans la méthode getPackages ()
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new MainReactPackage(),
new VectorIconsPackage()
);
}
puis après avoir essayé cette commande dans votre terminal:
- cd android
- gradlew propre