EAS 提交
编辑页面
EAS Submit 是一项托管服务,可通过命令行将 Android 和 iOS 应用二进制文件提交到 Google Play 商店和 Apple App Store。
For the complete documentation index, see llms.txt. Use this Use this file to discover all available pages.
EAS Submit 是 EAS(Expo 应用服务)提供的一项托管服务,可将 Android 和 iOS 二进制文件直接提交到 Google Play 商店和 Apple App Store,而无需打开 Google Play Console,或下载 Transporter 应用。
EAS Submit 通过将你构建好的二进制文件发送给 Google 和 Apple 进行商店审核,自动完成移动应用分发的最后一步。它消除了手动上传的需要,并减少了在商店提交流程中发生的错误。它还允许使用 Windows 和 Linux 的开发者上传 iOS 构建,因为这项操作仅在 macOS 机器上受支持。
EAS Submit 可与使用 EAS Build 构建的应用配合使用,也可与本地构建的应用配合使用,并支持多个提交配置文件。你可以通过 CLI 命令、构建完成后,或通过 CI/CD 服务触发提交。这为团队在两个平台上提供了更快、更一致的发布工作流。
快速开始
以下eas命令需要 EAS CLI。有关更多信息,请参阅 如何安装 EAS CLI。
提交 Android 构建:
- eas submit --platform android提交 iOS 构建:
- eas submit --platform ios一步完成构建和提交:
- eas build --platform ios --auto-submitEAS Submit 的工作方式
EAS Submit 会将你的应用交付到应用商店的分发流程中(Google Play Store 上你选择的轨道,或 iOS 的 TestFlight),并遵循 应用商店的默认提交行为。它会将你的应用排队到 Google Play Console 和 App Store Connect 进行分发,然后你可以登录这些站点将应用送去审核,随后它们就可以分发给你的用户。
Android(Google Play Store)
- 去向:EAS Submit 会将构建上传到 Google Play Console。
- 随后会发生什么:构建会被放入你指定的轨道中(internal、alpha、beta 或 production)。
- 首次提交:在基于 API 的提交生效之前,Google 要求你至少先手动上传一次应用。
- 这是否意味着 production?
- 如果你使用 internal、alpha 或 beta,则应用只对该轨道中的测试人员可见。
- 如果你明确选择 production,那么是的 —— 一旦 Google 批准发布,它就会对所有用户可用。
iOS(App Store Connect/TestFlight)
- 去向:EAS Submit 会将构建上传到 App Store Connect。
- 随后会发生什么:构建会在 TestFlight 中可用。
- 这是否意味着 production?不 —— TestFlight 构建不会自动发布到 Apple App Store。
- production 如何发生:你必须登录 App Store Connect,填写所有元数据、安全问卷并上传应用截图,然后选择该构建,并在可以发布到 production 之前将其提交进行 App Review。
何时使用 EAS Submit
| 场景 | 建议 |
|---|---|
| 将应用二进制文件上传到 Google Play Console 和 Apple App Store | |
| 在非 macOS 机器上上传 iOS 应用二进制文件 | |
| 避免通过 Play Console、App Store Connect 或 Transporter 进行手动上传 | |
| 从 CI 或自动化工作流 提交构建 | |
| 通过 eas.json 配置文件标准化发布流程 | |
| 减少提交过程中的人为错误 | |
| 本地测试且尚未准备好提交到商店 | |
| 还没有为 Google Play Store 配置商店列表 |
常见问题解答(FAQ)
我可以提交不是使用 EAS Build 构建的构建吗?
可以。EAS Submit 接受任何有效的 .aab(Android App Bundle)或 .ipa(iOS App Archive)文件。
对于使用 EAS Build 创建的构建,运行 eas submit 并从列表中选择一个构建,或者让它自动使用最新构建。
对于本地构建,使用 --path 标志来指定二进制文件:
- eas submit --platform android --path ./my-app.aab- eas submit --platform ios --path ./my-app.ipa二进制文件必须正确签名。对于 Android,这意味着需要 release keystore。对于 iOS,这意味着需要分发证书和 provisioning profile。
我可以将 EAS Submit 用于 TestFlight 吗?
可以。所有通过 EAS Submit 提交的 iOS 构建都会上传到 App Store Connect,并在处理完成后出现在 TestFlight 中。处理通常需要 10-15 分钟,但可能会有所不同。
处理完成后,你可以立即将构建分发给内部测试人员,或者在经过简短的 Beta App Review 后添加外部测试人员。若要发布到 App Store,你必须通过 App Store Connect 手动提交该构建进行 App Review。
我可以在 EAS Workflows 中或从其他 CI/CD 流水线中使用 EAS Submit 吗?
可以。EAS Submit 可在 CI 环境中运行,并与 EAS Workflows 集成。你可以在工作流配置中添加一个 submit 作业。例如:
jobs: submit_ios_to_store: type: submit params: platform: ios after: - build_ios
有关更多信息,请参阅 EAS Workflows 预打包作业。
对于 CI 流水线,你还可以使用 --non-interactive 标志跳过提示,并使用 --latest 自动选择最近的构建:
- eas submit --platform android --latest --non-interactive我需要处理元数据或截图吗?
EAS Submit 会上传你的二进制文件,但不会管理商店列表元数据、截图或发布说明。
对于 Google Play Store,请在提交前直接在 Google Play Console 中配置你的商店列表。
对于 Apple App Store,你可以使用 EAS Metadata 自动化应用信息和本地化描述。
我需要哪些凭证?
对于 Android,你需要一个具有访问 Google Play Console 中你的应用权限的 Google 服务账号密钥。在 API 提交生效之前,你的应用必须至少先手动上传一次。
对于 iOS,你需要一个 Apple Developer 账号。EAS Submit 需要你的 ascAppId(App Store Connect 应用 ID),并会提示你输入 Apple ID 凭据,或者在已配置时使用 App Store Connect API Key。
有关更多信息,请参阅 Google Play Store 的前提条件 和 Apple App Store 的前提条件。
我怎么知道提交为什么失败?
要了解你的 EAS Submit 提交为何失败,请打开 EAS 仪表盘 中的提交详情页面:
- 使用提交详情页面提供的日志来理解错误。
- 如果有的话,请查看 "Build Annotations" 气泡。这些会直接在日志中突出显示常见失败原因和建议的修复方法。
开始使用
了解如何将 Android 应用提交到 Google Play Store。
了解如何将 iOS/iPadOS 应用提交到 Apple App Store。
了解如何使用 eas.json 配置你的提交。