Back to skills
SkillHub ClubBuild MobileFull StackDevOpsMobile

android

Android build system and deployment patterns

Packaged view

This page reorganizes the original catalog entry around fit, installability, and workflow context first. The original raw source lives below.

Stars
3,110
Hot score
99
Updated
March 20, 2026
Overall rating
C4.0
Composite score
4.0
Best-practice grade
B81.2

Install command

npx @skill-hub/cli install openclaw-skills-android

Repository

openclaw/skills

Skill path: skills/ivangdavila/android

Android build system and deployment patterns

Open repository

Best for

Primary workflow: Build Mobile.

Technical facets: Full Stack, DevOps, Mobile.

Target audience: everyone.

License: Unknown.

Original source

Catalog source: SkillHub Club.

Repository owner: openclaw.

This is still a mirrored public skill entry. Review the repository before installing into production workflows.

What it helps with

  • Install android into Claude Code, Codex CLI, Gemini CLI, or OpenCode workflows
  • Review https://github.com/openclaw/skills before adding android to shared team environments
  • Use android for development workflows

Works across

Claude CodeCodex CLIGemini CLIOpenCode

Favorites: 0.

Sub-skills: 0.

Aggregator: No.

Original source / Raw SKILL.md

---
name: android
description: Android build system and deployment patterns
---

# 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" />
```

---

## Skill Companion Files

> Additional files collected from the skill directory layout.

### _meta.json

```json
{
  "owner": "ivangdavila",
  "slug": "android",
  "displayName": "Android",
  "latest": {
    "version": "1.0.1",
    "publishedAt": 1770662081438,
    "commit": "https://github.com/openclaw/skills/commit/3687d31922190704dfccad155ed897611114efe4"
  },
  "history": []
}

```