Expo SDK47托管流程下Android端RNSVGSvgViewAndroid组件缺失求助
解决Expo SDK 47托管工作流Android端RNSVGSvgViewNative组件缺失问题
问题场景
使用Expo SDK 47托管工作流结合UI Kitten Framework构建项目,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"
已尝试安装react-native-svg@13.4.0(SDK47推荐版)出现其他错误,安装13.5.0则回到组件缺失问题,均未解决。
可行解决方案
1. 安装Expo官方兼容的react-native-svg版本
托管工作流必须使用expo install命令安装对应SDK的兼容包,避免直接用npm/yarn安装导致的兼容性问题:
expo install react-native-svg@13.4.0
2. 彻底清理项目缓存
缓存冲突是这类问题的常见原因,执行以下命令清除所有缓存:
# 删除依赖包和锁文件 rm -rf node_modules package-lock.json yarn.lock # 清除Expo缓存并重启 expo r -c # 清除Metro缓存(可选) npx react-native start --reset-cache
3. 确认UI Kitten的SVG配置正确性
在项目入口文件(如App.js)中,确保正确注册图标包并配置UI Kitten:
import * as eva from '@eva-design/eva'; import { ApplicationProvider, IconRegistry } from '@ui-kitten/components'; import { EvaIconsPack } from '@ui-kitten/eva-icons'; export default () => ( <> <IconRegistry icons={EvaIconsPack} /> <ApplicationProvider {...eva} theme={eva.light}> {/* 你的应用组件 */} </ApplicationProvider> </> );
4. 重新构建Android项目(可选)
若以上步骤无效,尝试清理并重新生成Android构建文件:
expo prebuild --clean -p android expo start --clear
内容的提问来源于stack exchange,提问作者Sergy
相关产品推荐
相关产品推荐

