在本地创建发布构建

编辑

了解如何在本地为您的 Expo 应用创建发布(生产)构建。


要在本地创建您应用的发布版本(也称为生产版本),您需要在计算机上遵循不同的步骤,并使用创建任何原生应用所需的工具。本指南提供了 Android 和 iOS 所需的步骤。

Android

在本地为 Android 创建发布版本需要使用 上传密钥 对其进行签名,并生成 Android 应用程序包 (.aab)。请按照以下步骤操作:

先决条件

  • 已安装 OpenJDK 发行版 以访问 keytool 命令
  • 生成 android 目录。如果您正在使用 CNG,请运行 npx expo prebuild 以生成它。

1

创建上传密钥

已经使用 EAS Build 创建了构建?下载您的凭证并跳到下一步。

如果您已经使用 EAS Build 创建了构建,请遵循以下步骤下载凭证,其中包含上传密钥及其密码、密钥别名和密钥密码:

  1. 在终端中运行 eas credentials -p android 并选择构建配置。
  2. 选择 credentials.json > 从 EAS 下载凭证到 credentials.json
  3. 将下载的 keystore.jks 文件移动到 android/app 目录。
  4. credentials.json 中复制上传密钥库密码、密钥别名和密钥密码的值,因为您将在下一步中需要它们。

在您的 Expo 项目目录中,运行以下 keytool 命令以创建上传密钥:

Terminal
sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000

运行此命令后,系统会提示您输入密钥库的密码。此密码将保护上传密钥。请记住您在此处输入的密码,因为您将在下一步中需要它。

此命令还会在您的项目目录中生成名为 my-upload-key.keystore 的密钥库文件。将其移动到 android/app 目录。

如果您将 android 目录提交到像 Git 这样的版本控制系统,请不要提交此密钥库文件。它包含您的上传密钥,应保持私密。

2

更新 gradle 变量

打开 android/gradle.properties 文件,并在文件末尾添加以下 gradle 变量。用您在上一步中提供的正确密钥库和密钥密码替换 *****

这些变量包含有关您上传密钥的信息:

android/gradle.properties
# 如果您已从 `eas credentials` 命令下载凭证,请查看下方每个值的注释。 MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore # "keystore" 文件的路径 MYAPP_UPLOAD_KEY_ALIAS=my-key-alias # 用 credentials.json 文件中 `keystore.keyAlias` 字段的值替换 MYAPP_UPLOAD_STORE_PASSWORD=***** # 用 credentials.json 文件中 `keystore.password` 字段的值替换 MYAPP_UPLOAD_KEY_PASSWORD=***** # 用 credentials.json 文件中 `keystore.keyPassword` 字段的值替换
如果您将 android 目录提交到像 Git 这样的版本控制系统,请不要提交上述信息。相反,请在您的计算机上创建一个 ~/.gradle/gradle.properties 文件,并将上述变量添加到此文件中。

3

将签名配置添加到 build.gradle

打开 android/app/build.gradle 文件并添加以下配置:

4

生成发布 Android 应用程序包 (aab)

导航到 android 目录并通过运行 Gradle 的 bundleRelease 命令创建 .aab 格式的发布构建:

Terminal
cd android

./gradlew app:bundleRelease

此命令将在 android/app/build/outputs/bundle/release 目录中生成 app-release.aab。

5

手动将应用提交到 Google Play 控制台

当第一次提交 .aab 文件时,Google Play 商店需要手动提交应用。

手动提交 Android 应用

遵循 FYI 指南中的步骤,首次手动将您的应用提交到 Google Play 商店。

iOS

要在本地为 Apple App Store 创建 iOS 发布版本,您需要使用 Xcode,它通过 App Store Connect 处理签名和提交过程。

先决条件

  • 付费的 Apple 开发者会员
  • 已在计算机上安装 Xcode
  • 生成 ios 目录。如果您正在使用 CNG,请运行 npx expo prebuild 以生成它。

1

在 Xcode 中打开 iOS 工作区

在您的 Expo 项目目录中,运行以下命令在 Xcode 中打开 your-project.xcworkspace

Terminal
xed ios

打开 Xcode 中的 iOS 项目后:

  1. 从左侧的侧边栏中选择您的应用工作区。
  2. 转到 Signing & Capabilities 并选择 AllRelease
  3. Signing > Team 下,确保选择了您的 Apple 开发团队。Xcode 将生成一个自动管理的配置文件和签名证书。

2

配置发布方案

要配置您应用的发布方案:

  1. 从菜单栏中,打开 Product > Scheme > Edit Scheme
  2. 从侧边栏中选择 Run,然后使用下拉菜单将 Build configuration 设置为 Release

3

生成发布应用

要为发布生成应用,从菜单栏中,打开 Product > Build。此步骤将构建您的应用二进制文件以供发布。

4

使用 App Store Connect 提交应用

构建完成后,您可以通过 App Store Connect 将应用分发到 TestFlight 或提交到 App Store:

  1. 从菜单栏中,打开 Product > Archive
  2. Archives 下,点击右侧边栏中的 Distribute App
  3. 点击 App Store Connect 并按照窗口中显示的提示进行操作。此步骤将创建一个应用商店记录并将您的应用上传到 App Store。
  4. 现在,您可以进入您的 App Store Connect 账户,在应用列表下选择您的应用,并使用 TestFlight 提交以进行测试,或按照 App Store Connect 仪表板中的步骤为最终发布做准备。