在本地创建发布构建
编辑页面
了解如何为你的 Expo 应用在本地创建发布(生产)构建。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
要在本地创建应用的发布构建(也称为生产构建),你需要在自己的电脑上分别执行一些步骤,并使用创建任何原生应用所需的工具。本指南提供了 Android 和 iOS 所需的步骤。
Android
要在本地为 Android 创建发布构建,需要使用 上传密钥 对其进行签名,并生成 Android Application Bundle(.aab)。请按以下步骤操作:
前提条件
- 已安装 OpenJDK 发行版,以便使用
keytool命令 - 已生成 android 目录。如果你使用的是 CNG,则运行
npx expo prebuild来生成它。
1
创建上传密钥
已经使用 EAS Build 创建过构建?下载你的凭据并跳到下一步。
如果你已经使用 EAS Build 创建过构建,请按照以下步骤下载包含上传密钥及其密码、密钥别名和密钥密码的凭据:
- 在终端中运行
eas credentials -p android并选择构建配置文件。 - 选择 credentials.json > Download credentials from EAS to credentials.json。
- 将下载的 keystore.jks 文件移动到 android/app 目录。
- 从 credentials.json 中复制上传 keystore 密码、密钥别名和密钥密码的值,因为下一步需要用到它们。
在你的 Expo 项目目录中,运行以下 keytool 命令来创建上传密钥:
- sudo keytool -genkey -v -keystore my-upload-key.keystore -alias my-key-alias -keyalg RSA -keysize 2048 -validity 10000运行此命令后,系统会提示你为 keystore 输入密码。此密码将用于保护上传密钥。请记住你在这里输入的密码,因为下一步会用到它。
此命令还会在你的项目目录中生成名为 my-upload-key.keystore 的 keystore 文件。将它移动到 android/app 目录。
如果你将 android 目录提交到 Git 等版本控制系统,不要提交这个 keystore 文件。它包含你的上传密钥,应当妥善保密。
2
更新 gradle 变量
打开 android/gradle.properties 文件,并在文件末尾添加以下 gradle 变量。将 ***** 替换为你在上一步提供的正确 keystore 密码和密钥密码。
这些变量包含关于上传密钥的信息:
# 如果你是通过 `eas credentials` 命令下载的凭据,请参阅下面每个值的注释。 # 指向 "keystore" 文件的路径 MYAPP_UPLOAD_STORE_FILE=my-upload-key.keystore # 请替换为 credentials.json 文件中 `keystore.keyAlias` 字段的值 MYAPP_UPLOAD_KEY_ALIAS=my-key-alias # 请替换为 credentials.json 文件中 `keystore.password` 字段的值 MYAPP_UPLOAD_STORE_PASSWORD=***** # 请替换为 credentials.json 文件中 `keystore.keyPassword` 字段的值 MYAPP_UPLOAD_KEY_PASSWORD=*****
如果你将 android 目录提交到 Git 等版本控制系统,不要提交上述信息。相反,请在你的电脑上创建一个 ~/.gradle/gradle.properties 文件,并将上述变量添加到这个文件中。
4
5
手动向 Google Play Console 提交应用
Google Play Store 要求在首次提交 .aab 文件时手动提交应用。
按照 FYI 指南中的步骤,首次手动将应用提交到 Google Play Store。
iOS
要在本地为 Apple App Store 创建 iOS 发布构建,你需要使用 Xcode,它会通过 App Store Connect 处理签名和提交流程。
前提条件
1
2
4
使用 App Store Connect 提交应用
构建完成后,你可以将应用分发到 TestFlight,或使用 App Store Connect 提交到 App Store:
- 从菜单栏打开 Product > Archive。
- 在 Archives 下,点击右侧边栏中的 Distribute App。
- 点击 App Store Connect 并按照窗口中显示的提示操作。这一步将创建一个 app store 记录,并将你的应用上传到 App Store。
- 现在你可以前往你的 App Store Connect 账户,在 Apps 下选择你的应用,并通过 TestFlight 提交测试,或按照 App Store Connect 仪表板中的步骤为最终发布做准备。