繁体   English   中英

不变违规:requireNativeComponent:在 Android 的 UIManager 中找不到“RNSVGSvgViewAndroid”

[英]Invariant Violation: requireNativeComponent: "RNSVGSvgViewAndroid" was not found in the UIManager in Android

我正在使用 expo sdk 47 Managed Workflow 并尝试使用 UI Kitten Framework 构建项目https://akveo.github.io/react-native-ui-kitten/

在 iOS 上一切正常。

在 Android 上,我有一个问题 Invariant Violation: requireNativeComponent: "RNSVGSvgViewAndroid" was not found in the UIManager。

试图找到解决方案但没有运气。

重新安装了几次。 我有

"@ui-kitten/components": "^5.1.2", "expo": "~47.0.8", "react": "18.1.0", "react-native-svg": "^13.6.0 ",

问题出在最新版本的 expo SDK 上。有什么解决办法吗? 有人有相同的吗?

我只发现了这个新问题,但它与另一个库有关,解决方案对我不起作用。 不变违规:requireNativeComponent:在 UIManager 中找不到“RNSVGSvgViewAndroid”

还尝试使用 expo sdk47 推荐的 "react-native-svg": "^13.4.0" 但有另一个错误 ( https://github.com/software-mansion/react-native-svg/issues/1899 )建议通过安装 13.5.0 来修复,但随后出现初始错误。

花了几天时间寻找解决方案后,我没有其他想法,只能在这里问。

我在使用 "react-native-svg": "13.6.0" 时出现错误,降级为 "react-native-svg": "13.4.0" 解决了这个问题。

您不能将 "react-native-svg": "13.6.0" 与 expo sdk 47 Managed Workflow 一起使用,因为本机代码已经在那里编译,并且是使用 "react-native-svg": "13.4.0" 版本编译的本机代码。 在这些版本之间,原生组件的命名发生了变化,所以当使用“react-native-svg”:“13.6.0”时,你只更新 JS 代码,它试图从原生端获取组件的新名称,但是本机代码仍然编译了以前的名称。 它解决了这样的错误。 不幸的是,在托管工作流中没有解决此问题的方法,最简单的解决方案是使用 EAS ( https://expo.dev/eas ) 构建自定义版本的 Expo Go 应用程序与“react-native-svg”:“13.6 .0”在其中编译。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM