Android端渲染SVG时出现Double转ReadableMap类型转换错误求助
Expo React Native Android端SVG渲染报错:java.lang.Double cannot be cast to ReadableMap
基于Expo开发的React Native应用,iOS端运行完全正常,但在Android设备测试时,所有SVG均无法渲染,抛出以下错误:
java.lang.Double cannot be cast to abi48_0_0.com.facebook.react.bridge.ReadableMap
经排查,该错误与Android原生代码中fill、stroke相关的类型转换逻辑有关。
已尝试以下方案但均未解决问题:
- 隔离SVG组件单独测试,排除其他代码干扰
- 调整
react-native-svg的版本(尝试匹配Expo SDK对应版本及其他兼容版本) - 启用/禁用
react-native-svg-transformer,修改Metro配置 - 逐一校验SVG文件的fill、stroke等属性类型,确保格式符合要求
- 执行
yarn doctor检查依赖问题,并升级所有相关依赖 - 搜索社区同类问题,未找到适配当前场景的有效解决方案
相关代码文件
package.json
// 请粘贴你的package.json内容
metro.config.js
// 请粘贴你的metro.config.js内容
Profile页面SVG使用代码
// 请粘贴Profile页面中使用SVG的代码片段
希望能得到针对该问题的解决方向指引。
内容的提问来源于stack exchange,提问作者sebastian chapman
相关产品推荐
相关产品推荐

