This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

管理不同的应用版本

编辑页面

了解面向开发者和面向用户的应用版本,以及 EAS Build 如何自动管理面向开发者的版本。


在本章中,我们将学习 EAS Build 如何自动管理 Android 和 iOS 面向开发者的应用版本。在接下来的两章中深入了解生产构建之前,先学习这一点会很有帮助。

观看:自动化应用版本号
观看:自动化应用版本号

了解面向开发者和面向用户的应用版本,以及 EAS Build 如何为你自动管理版本。


理解面向开发者和面向用户的应用版本

一个应用版本由两个值组成:

  • 面向开发者的值:Android 由 versionCode 表示,iOS 由 buildNumber 表示。
  • 面向用户的值:由 app.config.js 中的 version 表示。

Google Play 商店和 Apple App Store 都依赖面向开发者的值来识别每个唯一构建。例如,如果我们上传一个应用版本为 1.0.0 (1) 的应用(这是面向用户的值和面向开发者的值的组合),我们就无法再向应用商店提交另一个具有相同应用版本的构建。提交重复应用版本号的构建会导致提交失败。

下面通过 app.config.js 中的 android.versionCodeios.buildNumber 展示了手动管理面向开发者的值的示例。我们不需要手动添加或管理这些值,因为 EAS Build 已经为我们自动完成了这件事

app.config.js
{ ios: { buildNumber: 1 %%placeholder-start%%... %%placeholder-end%% }, android: { versionCode: 1 } %%placeholder-start%%... %%placeholder-end%% }

使用 EAS Build 自动管理应用版本

默认情况下,EAS Build 会帮助自动化管理面向开发者的版本值。它使用 远程版本源 在每次创建新的生产发布时自动递增面向开发者的值。

当我们使用 eas init 命令初始化项目时,EAS CLI 会自动在 eas.json 中添加以下属性:

你可以在项目的 eas.json 中查看它们:

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 命令:
Terminal
eas build:version:set
  • 在提示时选择平台(Android 或 iOS)。
  • 当提示 是否要现在将应用版本来源设置为 remote? 时,选择 yes。这将把 eas.json 中的 cli.appVersionSource 设置为 remote
  • 当提示 你想用哪个版本号来初始化它? 时,输入你在应用商店中设置的最后一个版本号。

完成这些步骤后,应用版本将远程同步到 EAS Build。你可以在 eas.json 中将 build.production.autoIncrement 设置为 true。当你创建新的生产构建时,从现在开始 versionCodebuildNumber 将自动递增。

总结

Chapter 7: Manage different app versions

We successfully explored app versioning differences, addressed the importance of unique app versions to prevent store rejections, and enabled automated version updates in eas.json for production builds.

In the next chapter, learn about the process of creating a production build for Android.

Next: Chapter 8: Create a production build for Android