Android engineering rules — permissions, release signing, Kotlin/Compose. Load for Android.
Scanned 9/6/2026
Install to Claude Code
npx -y skills add Dev-Toolbelt/dev-team-agents --skill android --agent claude-codeInstalls into .claude/skills of the current project.
Are you the author of Android?
Add the live security badge to your README — it updates automatically with every re-scan.
[](https://www.skillsdirectory.com/skills/dev-toolbelt-android)More formats (shields.io, HTML) on the badges page.
---
name: android
description: Android engineering rules — permissions, release signing, Kotlin/Compose. Load for Android.
---
## Scope
This skill is the **engineering** half of Android support: platform rules that apply to any Android task — permissions, release signing, distribution, and native code standards.
The **design** half lives in `skills/mobile/material-design/SKILL.md` (color system, typography scale, components, motion, adaptive layout, accessibility). Load it **only when the task touches UI** — screen layout, navigation, visual or interaction design. A signing, build, or non-UI logic task does not need it.
## Design & UX (non-negotiable, applies even to non-UI tasks)
- Support **edge-to-edge** layout — use `WindowInsets` to avoid overlap with system bars
- Use **adaptive icons** (`mipmap-anydpi-v26/`) — required for Android 8.0+
- Support **back gesture** (predictive back on Android 14+) — register `OnBackPressedCallback` instead of overriding `onBackPressed()`
- Test on both small screens (< 5") and large screens / foldables
## Permissions & Privacy
- Declare only the permissions you actually use in `AndroidManifest.xml`
- Request runtime permissions with `ActivityResultContracts.RequestPermission`
- Handle `shouldShowRequestPermissionRationale()` — show an explanation before re-requesting
- Target the latest stable `targetSdkVersion` required by Google Play
- Fill the **Data Safety** section in Play Console accurately — it is legally binding
## Code Signing & Release
- The upload keystore must be stored securely (EAS Credentials, 1Password, or CI secret store) — **never commit it to the repository**
- Use **Android App Bundle (AAB)** for Play Store submissions — not APK
- Enable **R8/ProGuard** for release builds; test the release build locally before submitting to catch missing keep rules
- `versionCode` must be monotonically increasing — Play Store rejects builds with the same or lower version code
## Native Kotlin / Jetpack Compose Standards
- Prefer **Jetpack Compose** for new screens; use **Views/XML** only when Compose cannot achieve the required behavior or when maintaining existing View-based code
- Use `ViewModel` + `StateFlow`/`SharedFlow` for UI state — never hold state in Activities or Fragments
- Use **Room** for local persistence; **DataStore** for preferences (not SharedPreferences for new code)
- `suspend` functions and `Flow` over callbacks for all new async code
- Never run network or database operations on the main thread
Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.
No comments yet. Be the first to comment!