# Android Ci Cd Expert

> Use when setting up continuous integration/deployment (GitHub Actions), Gradle Play Publisher, Fastlane, or R8 Proguard rules for Release builds.

- **Type:** Skill
- **Install:** `agentstack add skill-prasad-vennam-awesome-android-ai-agent-skills-android-ci-cd-expert`
- **Verified:** Yes — security-reviewed for prompt injection and unsafe behavior
- **Seller:** [prasad-vennam](https://agentstack.voostack.com/s/prasad-vennam)
- **Installs:** 0
- **Category:** [Developer Tools](https://agentstack.voostack.com/c/developer-tools)
- **Latest version:** 0.1.0
- **License:** MIT
- **Upstream author:** [prasad-vennam](https://github.com/prasad-vennam)
- **Source:** https://github.com/prasad-vennam/Awesome-Android-AI-Agent-Skills/tree/main/skills/android-ci-cd-expert

## Install

```sh
agentstack add skill-prasad-vennam-awesome-android-ai-agent-skills-android-ci-cd-expert
```

Requires the [AgentStack CLI](https://agentstack.voostack.com/docs/cli). Works with Claude Code, Cursor, and any MCP-compatible agent.

## About

# Android CI/CD & Release Architect 🚀🤖

A masterclass framework for configuring flawless Android CI/CD pipelines, automating Play Store releases, and safely applying R8 obfuscation without breaking reflection.

## ⚡ When to Use

- **GitHub Actions**: Setting up `pull_request` checks or `push` release workflows.
- **R8 / ProGuard**: Configuring rules to shrink, obfuscate, and optimize the release APK/AAB.
- **Signing Keystores**: Safely extracting and using Base64 Keystore secrets in CI.
- **Fastlane / Gradle Play Publisher**: Automating deployments to Google Play Console.

## 🛡️ R8 Obfuscation & ProGuard Rules (Critical)

R8 is enabled by default in release builds (`isMinifyEnabled = true`). It strips unused code and renames classes to single letters, which **will crash your app** if you use Reflection or JSON serialization (like Gson/Moshi) without proper rules.

### The Architect's Checklist for R8:
1. **Data Models**: If using a local DB (Room) or Network API (Retrofit), you MUST add `@Keep` annotations to your Domain Models / DTOs, or add `-keep class com.example.model.** { *; }` to `proguard-rules.pro`.
2. **JNI / C++**: If using NDK, you must keep native methods using `-keepclasseswithmembernames class * { native ; }`.
3. **Empty Projects**: When scaffolding an empty project intended for production, you must NEVER leave `proguard-rules.pro` completely blank. At minimum, scaffold standard safeguards for Android endpoints.
4. **Testing R8**: Advise the user to test the release build using `./gradlew installRelease` (rather than just debug) before shipping.

## 🤖 GitHub Actions Pipeline Excellence

When generating `.github/workflows/android.yml`, adhere to the following Senior Architect standards:

### 1. Build & Test (PRs)
- **Base OS**: Use `ubuntu-latest`.
- **Java Setup**: Use `actions/setup-java@v4` with `distribution: 'zulu'` and `java-version: '17'` (or 21 for latest AGP).
- **Gradle Caching**: ALWAYS use `gradle/actions/setup-gradle@v3` to cache dependencies and speed up CI drastically.
- **Verification**: Run `./gradlew lintDebug ktlintCheck testDebugUnitTest` sequentially.

### 2. Signing & Release 
When generating a release workflow, never hardcode passwords. Ensure these environment variables are documented for the user to add to GitHub Secrets:
- `KEYSTORE_BASE64`
- `SIGNING_KEY_ALIAS`
- `SIGNING_KEY_PASSWORD`
- `SIGNING_STORE_PASSWORD`

### 3. Example Release Snippet
```yaml
      - name: Decode Keystore
        run: |
          echo "${{ secrets.KEYSTORE_BASE64 }}" | base64 --decode > app/keystore.jks
      
      - name: Build Release AAB
        run: ./gradlew bundleRelease
        env:
          SIGNING_KEY_ALIAS: ${{ secrets.SIGNING_KEY_ALIAS }}
          SIGNING_KEY_PASSWORD: ${{ secrets.SIGNING_KEY_PASSWORD }}
          SIGNING_STORE_PASSWORD: ${{ secrets.SIGNING_STORE_PASSWORD }}
```

## 🏎️ Fastlane & Deployment

- Prefer **Gradle Play Publisher (GPP)** if you only need Play Store automation without iOS overhead.
- If using **Fastlane**, store the `play-store-credentials.json` via GitHub secrets and inject it securely.
- Automate track progression (Internal -> Alpha -> Beta -> Production).

## 🛑 CI/CD Anti-Patterns to Avoid
- **Committing Keystores**: NEVER commit `.jks` files directly to Git.
- **Downloading SDKs manually**: Never manually fetch `tools_r25...zip`. Use `setup-android` or standard standard runners which come pre-installed with the SDK.
- **Matrix Builds Overkill**: Do not use matrix builds on every PR for multiple API levels unless explicitly maintaining a fundamental Library. App tests should just run standard local unit tests on PRs to save CI minutes.

## 🔗 Related Resources
- [Build Verification Skill](../android-build-verification/SKILL.md)
- [Code Review Expert (For PR triggers)](../android-code-review-expert/SKILL.md)

## Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

- **Author:** [prasad-vennam](https://github.com/prasad-vennam)
- **Source:** [prasad-vennam/Awesome-Android-AI-Agent-Skills](https://github.com/prasad-vennam/Awesome-Android-AI-Agent-Skills)
- **License:** MIT

Install and usage instructions live in the source repository linked above.

## Pricing

- **Free** — Free

## Security capabilities

Automated source analysis of v0.1.0 — what this tool can access:

- **Network access:** no
- **Filesystem access:** no
- **Shell / process execution:** no
- **Environment & secrets:** no
- **Dynamic code execution:** no

*"Yes" means the capability is present in the source — more access means more to trust, not that it is unsafe.*


## Versions

- **0.1.0** — security scan: passed — Imported from the upstream source.

## Links

- Listing page: https://agentstack.voostack.com/l/skill-prasad-vennam-awesome-android-ai-agent-skills-android-ci-cd-expert
- Seller: https://agentstack.voostack.com/s/prasad-vennam
- Browse the marketplace: https://agentstack.voostack.com/browse

---
Listed on AgentStack — the marketplace for AI agent skills and MCP servers. Every listing is security-reviewed. Creators keep 70%.
