一键导入
android-playstore-setup
Complete Play Store setup - orchestrates scanning, privacy policy, version management, Fastlane, and workflows (Internal track only)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Complete Play Store setup - orchestrates scanning, privacy policy, version management, Fastlane, and workflows (Internal track only)
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Verify OpenCode Mobile is PRODUCTION READY end-to-end. Triggers like "check production readiness", "are we ready to ship", "readiness check", "is opencode-mobile live", "is the app published". Runs a script that confirms both Google Play and F-Droid (self-hosted + mainline) are PUBLISHED and the app/site are healthy.
Generate production and local development keystores for Android release signing
Scan Android project and generate Play Console setup checklist (analysis only, no file modifications)
Step-by-step guide for creating Google Cloud service account for Play Store API access
| name | android-playstore-setup |
| description | Complete Play Store setup - orchestrates scanning, privacy policy, version management, Fastlane, and workflows (Internal track only) |
| category | android |
| version | 4.0.0 |
This skill orchestrates complete Google Play Store deployment setup with automated publishing to the internal testing track using Fastlane.
Scope: Internal track deployment only (simplified for quick testing)
Sets up everything needed for automated Play Store deployment using Fastlane:
1. Scan → 2. Review → 3. Setup → 4. Deploy
↓ ↓ ↓ ↓
📋 ✅ 🔧 🚀
Run /devtools:android-playstore-scan
What it does:
PLAY_CONSOLE_SETUP.md with pre-filled answersOutput: PLAY_CONSOLE_SETUP.md
Action: Review the generated file and address any warnings
If PLAY_CONSOLE_SETUP.md shows privacy policy is missing:
Run /devtools:privacy-policy-generate
What it does:
docs/privacy-policy.mdVerify:
test -f docs/privacy-policy.md && echo "✓ Privacy policy created"
Next: Enable GitHub Pages (Settings → Pages → Source: docs/)
Run /devtools:version-management with platform=gradle
What it does:
scripts/version-manager.sh (core)scripts/gradle-version.sh (Android adapter)version.properties with initial versionapp/build.gradle.kts to read from version.propertiesVerify:
./scripts/version-manager.sh latest
./scripts/gradle-version.sh generate patch
Run /devtools:android-keystore-generation
What it does:
Verify:
ls keystores/*.jks
cat keystores/KEYSTORE_INFO.txt
Run /devtools:android-signing-config
What it does:
Verify:
./gradlew assembleRelease
Run /devtools:android-proguard-setup
What it does:
Verify:
grep "isMinifyEnabled = true" app/build.gradle.kts
Run /devtools:android-fastlane-setup
What it does:
Verify:
bundle exec fastlane --version
bundle exec fastlane lanes
Run /devtools:android-app-icon
What it does:
Verify:
test -f fastlane/metadata/android/en-US/images/icon.png
file fastlane/metadata/android/en-US/images/icon.png | grep "512 x 512"
Run /devtools:android-screenshot-automation
What it does:
Verify:
bundle exec fastlane screenshots
ls fastlane/metadata/android/en-US/images/phoneScreenshots/
Run /devtools:android-store-listing
What it does:
Verify:
test -f fastlane/metadata/android/en-US/images/featureGraphic.png
wc -c fastlane/metadata/android/en-US/*.txt
Run /devtools:android-workflow-internal
What it does:
bundle exec fastlane deploy_internal for deploymentVerify:
test -f .github/workflows/build.yml
test -f .github/workflows/release-internal.yml
grep "bundle exec fastlane" .github/workflows/release-internal.yml
Run /devtools:android-service-account-guide
What it does:
Manual steps required:
SERVICE_ACCOUNT_JSON_PLAINTEXTFrom keystores/KEYSTORE_INFO.txt, add these secrets to GitHub:
# From KEYSTORE_INFO.txt, copy the base64 encoded keystore:
SIGNING_KEY_STORE_BASE64: <base64_string>
SIGNING_KEY_ALIAS: upload
SIGNING_STORE_PASSWORD: <password>
SIGNING_KEY_PASSWORD: <password>
Run /devtools:android-playstore-api-validation
What it does:
Verify:
python3 -m venv .venv
source .venv/bin/activate
pip install google-auth google-api-python-client
python3 scripts/validate-playstore.py /path/to/service-account.json com.example.app
⚠️ Before GitHub Actions can deploy, you MUST manually upload your first release.
# 1. Build release bundle locally
./gradlew bundleRelease
# 2. Verify it's signed
jarsigner -verify -verbose app/build/outputs/bundle/release/app-release.aab
# 3. Manual upload via Play Console
In Play Console:
app-release.aabIMPORTANT: The keystore used for this first upload must be the same one configured in GitHub Secrets!
After first manual upload is complete:
# Push to main branch to trigger deployment
git add .
git commit -m "Setup Play Store deployment"
git push origin main
What happens:
Monitor: Go to repository → Actions tab
| Key Type | Purpose | Holder | Can Reset? |
|---|---|---|---|
| App Signing Key | Signs APKs for users | No (permanent) | |
| Upload Key | Authenticates your uploads | You | Yes (via Play Console) |
For apps created after August 2021, Play App Signing is automatic:
No action needed - it just works!
# Project files
✓ Fastlane configured (Gemfile, Fastfile, Appfile)
✓ Version management scripts in scripts/
✓ Keystores in keystores/ (gitignored)
✓ Privacy policy in docs/privacy-policy.md
✓ Metadata in fastlane/metadata/android/en-US/
✓ CI workflow in .github/workflows/build.yml
✓ Release workflow in .github/workflows/release-internal.yml
# Build verification
✓ ./gradlew assembleRelease succeeds
✓ Unit tests pass
✓ ProGuard enabled
# GitHub Secrets configured
✓ SERVICE_ACCOUNT_JSON_PLAINTEXT
✓ SIGNING_KEY_STORE_BASE64
✓ SIGNING_KEY_ALIAS
✓ SIGNING_STORE_PASSWORD
✓ SIGNING_KEY_PASSWORD
# Play Console
✓ First manual upload completed
✓ Internal testing track active
✓ Service account has permissions
# API validation
✓ scripts/validate-playstore.py passes
Once internal testing is working:
# Add beta track
/devtools:android-workflow-beta
# Add production track
/devtools:android-workflow-production
| Track | Audience | Review Time | Use Case |
|---|---|---|---|
| Internal | Up to 100 testers | Instant | Quick testing, no review |
| Closed (Alpha) | Invited testers | < 24h | Beta testing |
| Open (Beta) | Anyone can join | < 24h | Public beta |
| Production | All users | 1-7 days | Full release |
You've successfully setup:
Your app is now ready for continuous integration and deployment!
Every push to main or PR → Automatic build & test (CI) ✅ Manual workflow trigger → Version management + deployment to internal track 🚀
All checks must pass before marking this skill as complete.
Do NOT mark complete unless ALL are verified:
✅ Service Account Setup
✅ Store Metadata Structure
✅ API Validation
✅ Documentation
After completion, provide this summary:
✅ Android Play Store Setup Complete!
🔐 Service Account:
✓ Created in Google Cloud
✓ JSON key downloaded
✓ Linked to Play Console
✓ Permissions granted
📝 Store Metadata:
✓ Structure created: fastlane/metadata/android/en-US/
✓ Locales configured
✓ Templates ready
✅ API Validation:
✓ Validation script created
✓ API connection tested
✓ Package access confirmed
📋 Next Steps:
For GitHub:
1. Add secrets (see GITHUB_SECRETS.md if it exists)
2. Create "production" environment with reviewers
For Deployment:
1. Run: /devtools:android-playstore-publish
2. Generate deployment workflows
⚠️ CRITICAL REMINDERS:
- NEVER commit service account JSON to git
- Store JSON key in password manager
- Add all 5 secrets to GitHub before deploying
- Wait 5-10 minutes after granting permissions
This skill is prerequisite for:
android-playstore-publishing - Uses service account for deploymentandroid-playstore-pipeline - Complete pipeline setupIf any skill fails:
Common issues: