EAS 提交
EAS Submit 是一项托管服务,可用于从命令行将 Android 和 iOS 应用二进制文件提交到 Google Play 商店和 Apple App Store。
EAS 提交 是 EAS(Expo 应用服务)提供的一项托管服务,用于将 Android 和 iOS 二进制文件直接提交到 Google Play 商店和 Apple App Store,无需打开 Google Play 控制台 或下载 Transporter 应用。
EAS Submit 自动化了移动应用分发的最后步骤,将你构建的二进制文件发送到 Google 和 Apple 进行商店审核。它消除了手动上传的需求,并减少了商店提交过程中可能发生的错误。它还允许使用 Windows 和 Linux 的开发者上传 iOS 构建,因为这通常仅在 macOS 设备上支持。
🌐 EAS Submit automates the final step of mobile app distribution by sending your built binaries to Google and Apple for store review. It removes the need for manual uploads and reduces errors that happen during store submission. It also allows developers using Windows and Linux to upload iOS builds, since this is only supported on macOS machines.
EAS Submit 可与使用 EAS Build 构建的应用或本地构建的应用配合使用,并支持多个提交配置文件。你可以通过 CLI 命令、构建完成后或从 CI/CD 服务触发提交。这为团队在两个平台上提供了更快速、更一致的发布工作流程。
🌐 EAS Submit works with apps built with EAS Build or locally and supports multiple submission profiles. You can trigger a submission from a CLI command, after a build is finished, or from a CI/CD service. This gives teams a faster, more consistent release workflow across both platforms.
快速开始
🌐 Quick start
信息 以下
eas命令需要 EAS CLI。有关更多信息,请参阅 如何安装 EAS CLI。
提交一个 Android 构建:
🌐 Submit an Android build:
- eas submit --platform android提交 iOS 构建:
🌐 Submit an iOS build:
- eas submit --platform ios一步构建并提交:
🌐 Build and submit in one step:
- eas build --platform ios --auto-submitEAS 提交是如何工作的
🌐 How EAS Submit works
EAS Submit 将你的应用发布到应用商店的分发流程(Google Play 商店的选定渠道或 iOS 的 TestFlight),遵循 应用商店的默认提交行为。它会将你的应用排队等待在 Google Play 控制台和 App Store Connect 上分发,然后你可以登录这些网站将应用提交审核,以便分发给用户。
Android(Google Play 商店)
🌐 Android (Google Play Store)
- 去向:EAS 提交将构建上传到 Google Play 控制台。
- 然后会发生什么:构建会被放置在你指定的渠道(内部、Alpha、Beta 或生产)中。
- 首次提交:Google 要求你至少手动上传一次应用,然后基于 API 的提交才能生效。
- 这是否意味着生产?
- 如果你使用内部、alpha 或 beta 版本,则该应用仅供相应轨道的测试人员使用。
- 如果你明确选择生产,那么是的——一旦谷歌批准发布,它将对所有用户可用。
iOS (App Store Connect/TestFlight)
- 去向:EAS 提交将构建上传到 App Store Connect。
- 接下来会发生什么:该版本将在 TestFlight 上可用。
- 这意味着正式发布吗?不是——TestFlight 版本不会自动发布到苹果应用商店。
- 生产流程如下:你必须登录 App Store Connect,填写所有元数据、安全问卷并上传应用截图,然后选择构建版本,并提交给应用审核,审核通过后才能发布到生产环境。
何时使用 EAS 提交
🌐 When to use EAS Submit
| Scenario | Recommendation |
|---|---|
| Upload app binaries to Google Play Console and Apple App Store | |
| Upload iOS app binaries on non-macOS machines | |
| Avoid manual uploads through Play Console, App Store Connect or Transporter | |
| Submit builds from CI or automated workflows | |
| Standardize release processes via eas.json config file | |
| Reduce human errors during submission | |
| Testing locally and not ready for a store submission | |
| Do not have a store listing configured yet for Google Play Store |
常见问题
🌐 Frequently asked questions (FAQ)
我可以提交不是用 EAS Build 构建的版本吗?
是的。EAS Submit 接受任何有效的 .aab(Android 应用包)或 .ipa(iOS 应用归档)文件。
🌐 Yes. EAS Submit accepts any valid .aab (Android App Bundle) or .ipa (iOS App Archive) file.
对于使用 EAS Build 创建的构建,运行 eas submit 并从列表中选择一个构建,或让它自动使用最新的构建。
🌐 For builds created with EAS Build, run eas submit and select a build from the list or let it use the latest build automatically.
对于本地构建,使用 --path 标志来指定二进制文件:
🌐 For local builds, use the --path flag to specify the binary:
- eas submit --platform android --path ./my-app.aab- eas submit --platform ios --path ./my-app.ipa二进制文件必须正确签名。对于 Android,这意味着需要使用发布密钥库。对于 iOS,这意味着需要分发证书和配置描述文件。
🌐 The binary must be correctly signed. For Android, this means a release keystore. For iOS, this means a distribution certificate and provisioning profile.
我可以使用 EAS 提交到 TestFlight 吗?
是的。通过 EAS Submit 提交的所有 iOS 应用都会上传到 App Store Connect,并在处理后出现在 TestFlight 中。处理通常需要 10-15 分钟,但可能会有所不同。
🌐 Yes. All iOS submissions through EAS Submit are uploaded to App Store Connect and appear in TestFlight after processing. Processing typically takes 10-15 minutes but can vary.
处理完成后,你可以立即将构建分发给内部测试人员,或者在简短的测试版应用审核后添加外部测试人员。要发布到 App Store,你必须通过 App Store Connect 手动提交构建以进行应用审核。
🌐 Once processed, you can distribute the build to internal testers immediately or add external testers after a brief Beta App Review. To release to the App Store, you must manually submit the build for App Review through App Store Connect.
我可以在 EAS Workflows 中或从其他 CI/CD 管道中使用 EAS Submit 吗?
是的。EAS 提交在 CI 环境中可用,并且可以与 EAS 工作流 集成。你可以在工作流配置中添加提交任务。例如:
🌐 Yes. EAS Submit works in CI environments and integrates with EAS Workflows. You can add a submit job to your workflow configuration. For example:
jobs: submit_ios_to_store: type: submit params: platform: ios after: - build_ios
有关更多信息,请参见 EAS 工作流程预打包作业。
🌐 For more information, see EAS Workflows pre-packaged jobs.
对于 CI 管道,你也可以使用 --non-interactive 标志来跳过提示,使用 --latest 自动选择最新的构建:
🌐 For CI pipelines, you can also use the --non-interactive flag to skip prompts and --latest to automatically select the most recent build:
- eas submit --platform android --latest --non-interactive我需要处理元数据或截图吗?
EAS Submit 会上传你的二进制文件,但不管理商店上的列表元数据、截图或版本说明。
🌐 EAS Submit uploads your binary but does not manage store listing metadata, screenshots, or release notes.
对于 Google Play 商店,请在提交前直接在 Google Play 控制台 中配置你的商店列表。
🌐 For Google Play Store, configure your store listing directly in Google Play Console before submitting.
对于苹果应用商店,你可以使用 EAS Metadata 来自动化应用信息和本地化描述。
🌐 For Apple App Store, you can use EAS Metadata to automate app information and localized descriptions.
我需要什么资格证书?
对于 Android,你需要一个具有 Google Play 控制台中应用访问权限的 Google 服务账户密钥。在 API 提交生效之前,你的应用必须至少手动上传一次。
🌐 For Android, you need a Google Service Account Key with access to your app in Google Play Console. Your app must be uploaded manually at least once before API submissions work.
对于 iOS,你需要一个 Apple 开发者账户。EAS Submit 需要你的 ascAppId(App Store Connect 应用 ID),并会提示输入你的 Apple ID 凭据,或者如果已配置,将使用 App Store Connect API 密钥。
🌐 For iOS, you need an Apple Developer account. EAS Submit requires your ascAppId (App Store Connect app ID) and will prompt for your Apple ID credentials or use an App Store Connect API Key if configured.
欲了解更多信息,请参阅Google Play 商店的先决条件和Apple App Store 的先决条件。
🌐 For more information, see Google's Play Store's prerequisites and Apple's App Store prerequisites.
我怎么知道我的提交为什么失败?
要了解你的 EAS 提交失败的原因,请在 EAS 仪表板 中打开提交详情页面:
🌐 To understand why your EAS Submit submission failed, open the submission details page in the EAS dashboard:
- 使用提交详情页面提供的日志来了解错误。
- 如果有的话,查找 “构建注释”气泡。它们会在日志中直接高亮常见的失败原因和建议的解决方法。
开始使用
🌐 Get started
学习如何将 Android 应用提交到 Google Play 商店。
了解如何将 iOS/iPadOS 应用提交到 Apple App Store。
查看如何使用 eas.json 配置你的提交。