执行expo run:android报错:找不到原生模块ExpoImage(Hermes引擎)
解决expo-image在Android端找不到原生模块的问题
以下是针对Error: Cannot find native module 'ExpoImage'报错的具体解决步骤:
检查expo-image与Expo SDK版本兼容性
不同版本的Expo SDK需要对应版本的expo-image,版本不匹配会导致原生模块无法正常链接。查看项目package.json里的expo版本,安装对应兼容的expo-image版本:# 示例:SDK 49对应安装~1.3.2版本 expo install expo-image@~1.3.2重新生成Android原生项目文件
原生模块链接失败可能是因为Android项目文件损坏或未正确生成,执行以下操作:- 删除项目根目录下的
android文件夹 - 重新生成Android项目:
expo prebuild --platform android - 再次运行Android项目:
expo run:android
- 删除项目根目录下的
清除各类缓存
缓存问题也可能导致模块无法正确加载,依次执行以下命令:- 清除Expo缓存:
npx expo start --clear - 进入android目录清除Gradle缓存:
cd android && ./gradlew clean - 清除npm/yarn缓存:
# npm npm cache clean --force # 或yarn yarn cache clean
- 清除Expo缓存:
确认expo-modules-core已安装
expo-image依赖expo-modules-core,确保该包已正确安装:expo install expo-modules-core检查组件导入是否正确
确保代码中导入的是expo-image的Image组件,而非React Native原生的Image:// 正确导入 import { Image } from 'expo-image'; // 错误示例(会导致冲突) // import { Image } from 'react-native';
内容的提问来源于stack exchange,提问作者François Richard
相关产品推荐
相关产品推荐

