我已将我的应用程序升级到react-native 60.4,它支持自动链接所有软件包,因此您不必手动进行设置,从而降低了出错的机会。
问题是大多数软件包仍未与此过程兼容,因此应用程序完全崩溃。
我的错误是因为https://github.com/corymsmith/react-native-fabric
指的是同一仓库的问题-> https://github.com/corymsmith/react-native-fabric/issues/225,但仍未得到答复。
我开始尝试通过分叉存储库并了解react native提供的自动链接过程。
在我替换的node_module软件包的package.json中
"rnpm": {
"android": {
"packageInstance": "new FabricPackage()"
}
},
在包根目录中有文件react-native.config.js
module.exports = {
dependencies: {
'react-native-fabric': {
platforms: {
android: {
"packageImportPath": "import com.smixx.fabric.FabricPackage;",
"packageInstance": "new FabricPackage()"
}
}
}
}
};
我还将构建版本从3.1.0更新到了3.4.1
我的React Native应用程序现在可以找到该软件包。
但是当我在我的react组件中调用该包时,会收到NoClassDefFoundError,这意味着找不到该类。
其他任何人都可以尝试并有解决方案,请告诉我。
答案 0 :(得分:1)
尝试使用react-native取消链接来取消链接,然后再次重新运行代码。
答案 1 :(得分:1)
从上面的注释中将其放在此处以使其更加清晰:
好吧,我通过更改分叉的仓库来解决这个问题->(在具有自动发现和链接配置的包根中添加了react-native.config.js),但是我认为我看到的唯一可扩展的解决方案现在不会降级到RN ^ 59.0,因为没有很多软件包会自动更改链接配置。因此,将等待RN 60.4成熟,然后在大约一个月内升级到RN 60.4。除此以外,该结构目前正在迁移到Firebase,并计划在年底之前完成。这意味着无论如何sdk集成都将过时,因此该软件包也将退出。
这个问题也主要与react-native-fabric有关,与RN本身无关。