我使用React Native构建了一个Android应用程序,它已经成功构建但是当我在我的Android虚拟设备中运行应用程序时,它会显示一个完整的红色屏幕,并显示以下错误:
我之前没有完成本机应用程序开发,也没有任何Java知识,所以我不知道这个错误意味着什么,以及如何解决这个问题.
与此错误关联的包的名称不是,AirMapModule
而是MapsPackage
来自com.airbnb.android.react.maps
.
在您MainApplication.java
的目录中:android/app/src/main/java/../../
删除任何重复的条目:
进口包: import com.airbnb.android.react.maps.MapsPackage
对模块构造函数的调用:new MapsPackage()
in functiongetPackages
转到文件"MainApplication.java"(在.\ android\app\src\main\java\com\projectName下)
确保在getPackages()函数下你没有重复的行(在我的情况下,我有两次"new MapsPackage()").
修复重复导入.
祝好运
转到MainAplication文件.
删除重复的包并删除getPackages()
方法中的重复包
@Override
protected List getPackages() {
return Arrays.asList(
new MainReactPackage(),
new VectorIconsPackage()
);
}
然后在终端中尝试此命令后:
cd android
./gradlew清洁
@Override public boolean canOverrideExistingModule() { return true; }
将这些代码添加到您的本机模块构造函数中就可以了
如果您使用的RN版本> = 0.60,则自动链接和手动链接可能两次执行相同的操作。您有两种选择:
1-您可以还原getPackages
方法中的代码更改
2-您可以禁用react-native-config.js
文件中的自动链接。