You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 14:05:18