This documentation is available as Markdown for AI agents and LLMs. See the full Markdown index or append .md to any documentation URL.

使用 EAS Submit 提交到 Google Play 商店

编辑页面

了解如何使用 EAS Submit 将您的 Android 应用提交到 Google Play 商店。


EAS Submit 是将 Android 应用上传到 Google Play 商店的推荐方式。eas submit 命令在您的本地机器和 CI/CD 环境中的工作方式相同。EAS Workflows 是在构建完成后自动运行该命令的最简单方式。

前提条件

Prerequisites

5 requirements

1.

注册 Google Play 开发者账号

要将应用提交到 Google Play 商店,需要拥有 Google Play 开发者账号。请在 Google Play Console 注册页面 注册。

2.

在 Google Play Console 中创建应用

Google Play Console 中点击 创建应用 创建一个应用。

3.

创建 Google 服务账号密钥并将其上传到 EAS

EAS 需要 Google 服务账号密钥来代表你提交应用。请按照创建 Google 服务账号密钥指南创建密钥。然后,使用 EAS 控制台或 EAS CLI 将密钥上传到项目的凭据中:

  • 前往项目的 EAS 控制台,点击 凭据,然后在 Android 下点击应用的 应用标识符
  • 服务凭据 下,点击 添加 Google 服务账号密钥
  • 确保已选择 上传新密钥,然后上传下载的 JSON 密钥。

4.

在应用配置中包含包名

app.json 中包含应用的包名:

app.json
{ "android": { "package": "com.yourcompany.yourapp" } }

5.

安装 EAS CLI 并使用 Expo 账号进行身份验证

安装 EAS CLI 并使用 Expo 账号登录:

Terminal
npm install --global eas-cli && eas login

构建生产版本应用

你需要一个生产版本的 .aab(Android App Bundle)才能提交。Google Play 要求新应用以应用包而非 .apk 文件的形式发布,并会根据应用包为每台设备生成经过优化的 APK。使用 EAS Build 创建应用包:

Terminal
eas build --platform android --profile production

或者,使用 eas build --platform android --profile production --local 在你自己的计算机上构建,或使用 Android Studio 构建。

默认的 production 配置会生成 .aab。只有在构建配置中将 android.buildType 设置为 apk 时,才会生成 .apk,这对于在模拟器或设备上安装很有用,但无法提交到 Google Play 商店。

首次提交

如果这是你的应用首次提交,默认的 eas submit 命令可以直接使用,并会在内部测试轨道上创建应用的第一个版本。在运行该命令之前,请完成前提条件,确保你的应用已存在于 Google Play Console 中,并且 EAS 拥有一个Google 服务账号密钥,可以代表你进行提交。在你完成商店信息和设置任务之前,应用会一直处于 Play Console 的草稿状态;而这些任务是将版本发布到生产环境前必须完成的。

  • 更愿意自行完成首次上传? 请按照手动提交指南在 Play Console 中创建第一个版本。
  • 想在不发布的情况下上传?eas.json 的提交配置文件中将 releaseStatus 设置为 draft,然后在 Play Console 中完成版本发布。

使用 eas submit 提交

构建准备就绪后,将其提交到 Google Play 商店:

Terminal
eas submit --platform android

该命令将引导你选择构建版本并上传。通过在 eas.json 中添加提交配置文件来配置提交流程。有关所有可用选项,请参阅 eas.json 参考

一步完成构建和提交

--auto-submit 传递给 eas build,即可自动将完成的构建交给 EAS Submit:

Terminal
eas build --platform android --auto-submit

详情请参阅自动提交

使用 EAS Workflows 自动化

EAS Workflows 在 EAS 基础设施上运行相同的 eas submit 命令,可由 git push 触发,也可以通过 CLI 手动运行。工作流使用您在先决条件中上传的 Google 服务帐号密钥向 Google Play 进行身份验证。

创建一个名为 .eas/workflows/submit-android.yml 的工作流文件,内容如下:

.eas/workflows/submit-android.yml
name: Submit Android on: push: branches: ['main'] jobs: build_android: name: Build Android app type: build params: platform: android profile: production submit_android: name: Submit to Google Play Store needs: [build_android] type: submit params: profile: production build_id: ${{ needs.build_android.outputs.build_id }}

每次向 main 推送时,该工作流都会构建 Android 应用并将其提交到 Google Play。使用以下命令手动触发:

Terminal
eas workflow:run submit-android.yml

有关更多模式,请参阅工作流示例指南

使用其他 CI/CD 服务

你可以从任何 CI/CD 服务运行 eas submit,例如 GitHub Actions、GitLab CI 等:

Terminal
eas submit --platform android --profile production

这需要使用个人访问令牌向你的 Expo 账户进行身份验证。在 CI 服务中设置 EXPO_TOKEN 环境变量,这样 eas submit 就可以以非交互方式运行。