主题
构建与发布
发布标识
应用配置中需要保持稳定的字段包括:
ios.bundleIdentifier:iOS 应用唯一标识;android.package:Android 应用唯一标识;version:面向用户的版本号;ios.buildNumber:iOS 构建号;android.versionCode:Android 递增版本号。
商店发布后的包标识不能直接更换。构建号必须满足对应商店的递增规则。
EAS 初始化
bash
npx eas-cli@latest login
npx eas-cli@latest build:configure初始化会创建 eas.json 并关联 Expo 项目。团队应将构建配置提交到仓库,账号凭证和敏感环境变量由 EAS 凭证与环境系统管理。
构建配置
json
{
"build": {
"development": {
"developmentClient": true,
"distribution": "internal"
},
"preview": {
"distribution": "internal"
},
"production": {
"autoIncrement": true
}
}
}| Profile | 用途 |
|---|---|
development | 包含开发客户端,用于日常原生功能调试 |
preview | 接近生产配置,供测试人员内部分发 |
production | 提交应用商店的正式构建 |
执行构建
bash
npx eas-cli@latest build --profile development --platform android
npx eas-cli@latest build --profile preview --platform all
npx eas-cli@latest build --profile production --platform all--platform all 会分别创建 Android 和 iOS 构建。iOS 商店发布需要 Apple Developer Program 账号,Android 商店发布需要对应的开发者账号。
提交商店
bash
npx eas-cli@latest submit --platform android
npx eas-cli@latest submit --platform iosEAS Submit 负责上传构建产物,不会代替商店后台中的隐私信息、截图、分级、审核说明和发布范围配置。
EAS Update
EAS Update 可发布与当前原生运行时兼容的 JavaScript、样式和资源更新。以下变化仍需重新构建原生应用:
- 新增或升级包含原生代码的依赖;
- 修改权限、Entitlement、Manifest 或 Info.plist;
- 修改 Config Plugin 或自定义原生模块;
- 升级导致原生运行时变化的 Expo SDK 或 React Native。
应配置明确的 runtimeVersion 策略,防止更新被发送到不兼容的原生构建。
发布检查
- 在 preview 或 production 构建中验证登录、支付、推送和 Deep Link;
- 分别检查 Android 与 iOS 权限文案和拒绝流程;
- 检查图标、启动页、应用名称、版本号与包标识;
- 验证环境变量指向生产服务且不包含客户端密钥;
- 保留构建日志、提交记录和可回滚的版本信息。
