用途
Android Play Store Setup 是一个用于编排完整 Google Play 商店部署设置的技能,目标是通过 Fastlane 实现向内部测试轨道(Internal track)的自动化发布。其范围限定为内部轨道部署,简化流程以便快速测试。
主要能力
该技能设置自动化 Play Store 部署所需的一切,包括:
- 扫描项目:分析项目并生成设置清单
- Fastlane 设置:配置 Fastlane 的 supply 和 screengrab
- 应用图标:生成并放置图标资源
- 截图:自动化截图捕获
- 商店列表:功能图形和元数据
- 隐私政策:为 GitHub Pages 生成隐私政策
- 版本管理:设置基于 Git 标签的版本管理
- 签名配置:配置发布签名
- 服务账号:Play Store API 访问
- GitHub Actions:使用 Fastlane 的 CI/CD 工作流
使用方式
工作流概览:扫描 → 审查 → 设置 → 部署。
具体步骤:
-
扫描项目(仅分析):运行
/devtools:android-playstore-scan,扫描 AndroidManifest.xml 和 build.gradle,检测 Health Connect、广告、分析,检查隐私政策,生成 PLAY_CONSOLE_SETUP.md。 -
生成隐私政策(如需要):运行
/devtools:privacy-policy-generate,生成 docs/privacy-policy.md 并创建 GitHub Pages 设置指南。 -
设置版本管理:运行
/devtools:version-management并指定 platform=gradle,创建版本管理脚本和 version.properties。 -
生成密钥库:运行
/devtools:android-keystore-generation,生成生产发布和本地开发密钥库。 -
配置签名:运行
/devtools:android-signing-config,添加签名配置。 -
配置 ProGuard(如未设置):运行
/devtools:android-proguard-setup。 -
设置 Fastlane:运行
/devtools:android-fastlane-setup,创建 Gemfile、Appfile、Fastfile、Screengrabfile 和元数据目录结构。
7a. 生成应用图标:运行 /devtools:android-app-icon。
7b. 设置截图自动化:运行 /devtools:android-screenshot-automation。
7c. 创建商店列表素材:运行 /devtools:android-store-listing。
-
创建部署工作流:运行
/devtools:android-workflow-internal,创建 build.yml 和 release-internal.yml。 -
服务账号设置:运行
/devtools:android-service-account-guide,提供 Google Cloud 设置指南。 -
将密钥库添加到 GitHub Secrets:从 keystores/KEYSTORE_INFO.txt 添加 SIGNING_KEY_STORE_BASE64、SIGNING_KEY_ALIAS、SIGNING_STORE_PASSWORD、SIGNING_KEY_PASSWORD。
-
验证 API 连接:运行
/devtools:android-playstore-api-validation,创建 scripts/validate-playstore.py 并测试连接。 -
首次手动上传(关键):在 GitHub Actions 部署前,必须手动上传首个版本。构建 release bundle,通过 Play Console 上传到内部测试轨道。
-
测试 Fastlane 部署:推送到 main 分支触发部署。
适用场景
适用于需要为 Android 应用设置自动化 Google Play 商店部署流程的开发者,特别是希望快速搭建内部测试轨道 CI/CD 的场景。
限制
- 范围仅限内部测试轨道部署。
- 需要 Google Play 开发者账号(一次性 $25)、Google Cloud Platform 账号(免费)、Play Console 管理员访问权限、在 Play Console 中预留的包名。
- 首次上传必须手动完成,之后才能使用 GitHub Actions 自动部署。
- 服务账号 JSON 密钥绝不能提交到 git。
- 授予权限后需等待 5-10 分钟传播。
前置条件
- Google Play 开发者账号(一次性 $25)
- Google Cloud Platform 账号(免费)
- Play Console 管理员访问权限
- 在 Play Console 中预留的包名
与其他技能的集成
该技能是以下技能的前置条件:
- android-playstore-publishing:使用服务账号进行部署
- android-playstore-pipeline:完整流水线设置
故障排除
- API 验证中“找不到包”:确保应用存在于 Play Console,验证包名完全匹配,完成首次手动上传。
- “上传密钥不匹配”:首次上传密钥库与 GitHub Secrets 密钥库不一致,通过 Play Console 请求上传密钥重置。
- 服务账号“权限被拒绝”:在 Play Console 中授予“发布到生产”权限,等待 5-10 分钟。
- GitHub Actions 部署失败:验证所有 GitHub Secrets 设置正确,检查工作流日志,确保首次手动上传已完成。