# Android

> Guides Android app builds and deployments, covering ADB installs, Gradle configuration, Compose state management, and manifest pitfalls.

- Skill: `luokai0/android` (Agent Skill, multi-file: 3 files)
- Install (CLI): `npx skillmds@latest add luokai0/android`
- Raw SKILL.md: https://api.skillmd.com/api/skills/luokai0/android/raw
- Safety review: PASS (external: skill-scanner PASS, skillspector PASS)
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools, AI & ML, DevOps & Infra, Deployment & Release, Mobile Development
- Tags: Adb, Android, Compose, Deployment, Gradle, Manifest
- Author: luokai0 (https://skillmd.com/u/luokai0)
- Updated: 2026-08-22
- Page: https://skillmd.com/skills/luokai0/android

---


# Android Build & Deploy

## ADB Essentials

```bash
# Debug builds require -t flag (agents forget this)
adb install -r -t app-debug.apk

# Filter logcat for app + errors only
adb logcat -s "YourApp:*" "*:E"
```

## Gradle Critical Fixes

```gradle
android {
    compileSdk 35
    defaultConfig {
        targetSdk 35  // MUST match or Play Console rejects
        multiDexEnabled true  // Required for 64K+ methods
    }
}

dependencies {
    // BOM prevents Compose version conflicts
    implementation platform('androidx.compose:compose-bom:2024.12.01')
}
```

## Compose State Errors

```kotlin
// WRONG - recomputed every recomposition
val filtered = items.filter { it.isValid }

// CORRECT - remember expensive operations  
val filtered = remember(items) { items.filter { it.isValid } }

// WRONG - state resets on recomposition
var count by mutableStateOf(0)

// CORRECT - remember state
var count by remember { mutableStateOf(0) }
```

## AndroidManifest Pitfall

```xml
<!-- Declare camera optional or Play Console auto-requires it -->
<uses-feature android:name="android.hardware.camera" android:required="false" />
```
