React Native CLI项目适配EAS Update疑问:已上架应用能否使用?
关于EAS Update的疑问解答
1. 已上架应用的EAS Update使用权限及流程说明
- 已上架至应用商店的应用完全可以使用EAS Update,不需要每次都走「构建->提交->应用商店审核」的完整流程。EAS Update的核心价值就是支持推送纯JS代码、静态资源类的更新,绕过应用商店审核直接推送给用户。
- 注意边界:如果涉及原生代码/配置改动(比如新增原生依赖、修改
AndroidManifest.xml/Info.plist等原生文件),仍必须走构建->提交应用商店的流程;仅纯JS逻辑、样式、图片等资源更新,可直接用EAS Update推送。
2. React Native CLI/create-native-init已上架应用的操作步骤
前置准备
- 确保已注册Expo账号,通过终端执行
expo login完成登录 - 全局安装EAS CLI:
npm install -g eas-cli
步骤1:关联项目到Expo
在项目根目录执行:
eas init
按照终端提示完成项目关联,选择或创建对应的Expo项目记录。
步骤2:集成EAS Update依赖与配置
- 安装核心依赖:
npm install expo-updates
- 在项目根目录创建
eas.json配置文件,添加更新相关配置示例:
{ "build": { "production": { "channel": "production" } }, "update": { "production": { "channel": "production", "platforms": ["ios", "android"] } } }
- Android端:确保
android/app/src/main/AndroidManifest.xml中已添加网络权限:
<uses-permission android:name="android.permission.INTERNET" />
- iOS端:确保
Info.plist允许网络请求(建议使用HTTPS,若需HTTP需配置ATS例外)
步骤3:重新构建原生包并提交应用商店
由于已上架的旧版本未集成expo-updates能力,需重新构建包含更新逻辑的原生包,提交至应用商店覆盖现有版本:
- 构建Android生产包:
eas build --platform android --profile production
- 构建iOS生产包:
eas build --platform ios --profile production
这是最后一次需要走应用商店审核流程的操作,后续的JS/资源更新无需再提交商店。
步骤4:推送后续更新
当有纯JS/资源改动时,直接执行以下命令推送更新:
eas update --branch production --message "修复首页加载卡顿问题"
用户打开应用时,会按照默认策略自动下载并应用更新(可通过expo-updates API自定义更新提示、静默更新等逻辑)
内容的提问来源于stack exchange,提问作者Jscripter
相关产品推荐
相关产品推荐

