用途:为已有 Android 应用且托管在 GitHub 仓库的项目搭建完整的多阶段 CI/CD 流水线,自动构建并通过 GitHub Actions 发布到 Google Play,支持 TWA(Bubblewrap)、React Native、Flutter 和原生 Android(Gradle)。适用于尚无 Android 构建流水线、希望 main 分支推送和版本标签自动发布、并避免手动递增 versionCode 的场景。
主要能力:向导会进行框架检测(依据 pubspec.yaml 中的 flutter、android/app/build.gradle 配合 package.json 的 react-native 依赖、twa-manifest.json 或 .bubblewrap/config.json、app/build.gradle 等条件,用户也可手动覆盖),生成 keystore、设置 GitHub Secrets 并搭建工作流。流水线根据 git 引用发布到不同轨道:推送到 main 为 internal,v*-alpha 为 alpha,v*-beta 为 beta,v* 为 production,手动 workflow_dispatch 可选择轨道。推送 main 时自动读取对应版本文件中的 versionCode 并加一、以 [skip ci] 提交并推送回 main;标签构建不执行自动递增。
使用方式:在项目根目录运行 npx android-cicd。前置条件包括 Node.js ≥ 18、JDK 17(keytool 可用、设置 JAVA_HOME)、已认证的 gh CLI、Google Play Console 中已创建应用并至少完成一次手动 AAB/APK 上传、已加入 Play App Signing、已启用 Google Play Android Developer API、已下载服务账号 JSON 密钥。需的 Secrets 有 KEYSTORE_FILE、KEYSTORE_PASSWORD、KEY_ALIAS、KEY_PASSWORD、GOOGLE_PLAY_SERVICE_ACCOUNT_JSON。发布生产可用 git tag v1.2.0 后 git push origin v1.2.0。
限制:创建服务账号、启用 Play API、在 Play Console 邀请服务账号(需授予发布到测试轨道、管理测试轨道和编辑测试人员权限)、首次手动上传等步骤无法自动完成。文档还给出签名配置模板、排错表(如 Java home 无效、密钥不匹配、权限不足、versionCode 未递增、浅克隆、标签未推送、gh 或 keytool 缺失)以及丢失上传密钥的恢复流程。其他平台支持细节与更多配置暂未提供。