Skip to content
Back to skills

Android

ASecurity

Android engineering rules — permissions, release signing, Kotlin/Compose. Load for Android.

  • 6 stars
  • 0 votes
  • 1 copy
  • 3 views
  • Added September 6, 2026
developmentgokotlindatabase

Security analysis

A100/100

Scanned September 6, 2026

npx -y skills add Dev-Toolbelt/dev-team-agents --skill android --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Android?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Android
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/dev-toolbelt-android/badge)](https://www.skillsdirectory.com/skills/dev-toolbelt-android)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
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

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…

Newsletter

Get the weekly list of safe new skills, and the ones we pulled.