在本地创建发布构建
编辑
了解如何在本地为您的 Expo 应用创建发布(生产)构建。
要在本地创建您应用的发布版本(也称为生产版本),您需要在计算机上遵循不同的步骤,并使用创建任何原生应用所需的工具。本指南提供了 Android 和 iOS 所需的步骤。
Android
在本地为 Android 创建发布版本需要使用 上传密钥 对其进行签名,并生成 Android 应用程序包 (.aab)。请按照以下步骤操作:
先决条件
- 已安装 OpenJDK 发行版 以访问
keytool命令 - 生成 android 目录。如果您正在使用 CNG,请运行
npx expo prebuild以生成它。
1
创建上传密钥
已经使用 EAS Build 创建了构建?下载您的凭证并跳到下一步。
如果您已经使用 EAS Build 创建了构建,请遵循以下步骤下载凭证,其中包含上传密钥及其密码、密钥别名和密钥密码:
- 在终端中运行
eas credentials -p android并选择构建配置。 - 选择 credentials.json > 从 EAS 下载凭证到 credentials.json。
- 将下载的 keystore.jks 文件移动到 android/app 目录。
- 从 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 文件,并将上述变量添加到此文件中。
4
5
手动将应用提交到 Google Play 控制台
当第一次提交 .aab 文件时,Google Play 商店需要手动提交应用。
手动提交 Android 应用
遵循 FYI 指南中的步骤,首次手动将您的应用提交到 Google Play 商店。
iOS
要在本地为 Apple App Store 创建 iOS 发布版本,您需要使用 Xcode,它通过 App Store Connect 处理签名和提交过程。
先决条件
1
2
4
使用 App Store Connect 提交应用
构建完成后,您可以通过 App Store Connect 将应用分发到 TestFlight 或提交到 App Store:
- 从菜单栏中,打开 Product > Archive。
- 在 Archives 下,点击右侧边栏中的 Distribute App。
- 点击 App Store Connect 并按照窗口中显示的提示进行操作。此步骤将创建一个应用商店记录并将您的应用上传到 App Store。
- 现在,您可以进入您的 App Store Connect 账户,在应用列表下选择您的应用,并使用 TestFlight 提交以进行测试,或按照 App Store Connect 仪表板中的步骤为最终发布做准备。