Expo开发React Native安卓应用遇ReferenceError: Can't find variable: Intl问题
解决Expo React Native安卓端
ReferenceError: Can't find variable: Intl报错 问题核心
Expo环境下直接修改android/app/build.gradle的JSC配置不会生效,因为Expo会自动覆盖安卓构建相关的默认配置,必须通过Expo官方提供的配置方式指定国际化版本的JSC引擎。
解决方案一:使用expo-build-properties插件配置JSC变体
- 安装插件
expo install expo-build-properties
- 在
app.json或app.config.js中添加配置
{ "expo": { "plugins": [ [ "expo-build-properties", { "android": { "jsEngine": "jsc", "jscVersion": "org.webkit:android-jsc-intl:+" } } ] ] } }
- 重新构建项目
- 云构建:
eas build --platform android - 本地构建:先执行
expo prebuild --platform android,再运行npx react-native run-android
- 云构建:
解决方案二:配合禁用Hermes引擎(可选)
如果项目不需要Hermes引擎,可在配置文件中明确指定使用JSC:
{ "expo": { "android": { "jsEngine": "jsc" } } }
此配置需和方案一中的expo-build-properties插件配置配合使用,确保加载国际化版本的JSC。
额外注意事项
- 若之前手动修改过
android目录的文件,需先清除本地构建缓存:
rm -rf android && expo prebuild --clean
- Expo 45与
expo-build-properties插件兼容,无需担心版本匹配问题。
内容的提问来源于stack exchange,提问作者Elena Martín Castillo
相关产品推荐
相关产品推荐

