管理不同的应用版本
编辑页面
了解面向开发者和面向用户的应用版本,以及 EAS Build 如何自动管理面向开发者的版本。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
在本章中,我们将学习 EAS Build 如何自动管理 Android 和 iOS 面向开发者的应用版本。在接下来的两章中深入了解生产构建之前,先学习这一点会很有帮助。

了解面向开发者和面向用户的应用版本,以及 EAS Build 如何为你自动管理版本。
理解面向开发者和面向用户的应用版本
一个应用版本由两个值组成:
- 面向开发者的值:Android 由
versionCode表示,iOS 由buildNumber表示。 - 面向用户的值:由 app.config.js 中的
version表示。
Google Play Store 和 Apple App Store 都依赖面向开发者的值来识别每个唯一构建。例如,如果我们上传一个应用版本为 1.0.0 (1) 的应用(这是面向用户和值和面向开发者值的组合),我们就无法再向应用商店提交另一个具有相同应用版本的构建。提交重复应用版本号的构建会导致提交失败。
下面通过 app.config.js 中的 android.versionCode 和 ios.buildNumber 展示了手动管理面向开发者值的示例。我们不需要手动添加或管理这些值,因为 EAS Build 已为我们自动完成了这件事。
{ ios: { buildNumber: 1 %%placeholder-start%%... %%placeholder-end%% }, android: { versionCode: 1 } %%placeholder-start%%... %%placeholder-end%% }
注意:面向用户的版本号 不由 EAS 处理。相反,我们会在提交生产应用审核之前,在应用商店开发者后台中定义它。
使用 EAS Build 自动管理应用版本
默认情况下,EAS Build 会帮助自动化面向开发者的值。它使用 远程版本源 在每次创建新的生产发布时自动递增面向开发者的值。
当我们使用 eas init 命令初始化项目时,EAS CLI 会自动在 eas.json 中添加以下属性:
cli.appVersionSource,其值设为remotebuild.production.autoIncrement,其值设为true
你可以在项目的 eas.json 中查看它们:
{ "cli": { %%placeholder-start%%... %%placeholder-end%% "appVersionSource": "remote" }, "build": { "production": { "autoIncrement": true } } %%placeholder-start%%... %%placeholder-end%% }
当我们在接下来的两章中创建一个新的生产构建时,Android 的 versionCode 和 iOS 的 buildNumber 将自动递增。
将已发布应用的面向开发者的应用版本同步到 EAS
如果你的应用已经发布到应用商店,面向开发者的应用版本已经设置好了。在将此应用迁移到使用 EAS Build 时,请按照以下步骤同步这些应用版本:
- 在终端窗口中,运行
eas build:version:set命令:
- eas build:version:set- 在提示时选择平台(Android 或 iOS)。
- 当提示 Do you want to set app version source to remote now? 时,选择 yes。这将把 eas.json 中的
cli.appVersionSource设置为remote。 - 当提示 What version would you like to initialize it with? 时,输入你在应用商店中设置的最后一个版本号。
完成这些步骤后,应用版本将远程同步到 EAS Build。你可以在 eas.json 中将 build.production.autoIncrement 设置为 true。当你创建新的生产构建时,从现在开始 versionCode 和 buildNumber 将自动递增。
总结
Chapter 7: Manage different app versions
我们成功了解了应用版本控制的差异,说明了唯一应用版本对于避免商店拒绝的重要性,并在 eas.json 中为生产构建启用了自动版本更新。
在下一章中,了解为 Android 创建生产构建的过程。