【发布时间】:2019-12-03 17:52:52
【问题描述】:
我已将我的应用程序升级到 react-native 60.4,它支持自动链接所有包,这样您就不必手动进行设置,从而降低出错的机会。
问题是大多数软件包仍未与此过程兼容,因此应用程序完全崩溃。
我的错误是https://github.com/corymsmith/react-native-fabric
提到相同的回购问题 -> https://github.com/corymsmith/react-native-fabric/issues/225,仍未得到答复。
我开始尝试通过分叉 repo 并了解 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()"
}
}
}
}
};
我还将构建 gradle 从 3.1.0 更新到 3.4.1
我的 react native 应用现在能够找到包。
但是当我在我的 react 组件中调用包时,我得到 NoClassDefFoundError,这意味着找不到该类。
其他人尝试过并有解决方案,请告诉我。
【问题讨论】:
-
错误是什么?
-
NoClassDefFoundError 错误是一个存在但依赖的类。查看与此类关联的依赖项。
-
升级到 gradle 3.4.1 时会发生这种情况。我调用包时的错误是
FabricPackage missing -
好的,我通过更改分叉的 repo 来实现这一点,但我认为我现在看到的唯一可扩展的解决方案是降级到 RN ^59.0,因为不是很多包都有自动链接配置更改。所以将等待 RN 60.4 成熟,然后升级到它。
标签: react-native react-native-android google-fabric