Tooling

Mobile — Android Native Development

Kotlin, Jetpack Compose, Android Studio, and the full Google-blessed Android stack.

The Android native stack in 2026 is Kotlin 2.x with Jetpack Compose as the default UI layer. The View / XML system is in legacy-maintained mode — still supported, almost no new code. Android Studio is the IDE; Gradle with the Kotlin DSL is the build system. For cross-platform paths see Flutter, Kotlin Multiplatform, Compose Multiplatform, Mobile (Native) RN/Expo, and Skip (SwiftUI → Kotlin).

Cost reality: Google Play Console is $25 one-time (vs Apple's recurring $99/yr). Android Studio, Kotlin, and Gradle are all free.

Languages

  • Kotlin 2.x — default. K2 compiler, stable since Kotlin 2.0. Multiplatform-ready.
  • Java — still maintained; existing codebases keep it; almost no new modules in 2026.
  • C / C++ via NDK — for performance hot paths and ports.

UI frameworks

  • Jetpack Compose — the default UI layer in 2026. Material 3, adaptive layouts, Compose for Wear OS, Compose for TV. Open source, Apache 2.0.
  • View system / XML layouts — legacy-maintained. New projects should not start here.
  • Compose Material 3 — Google's design system on top of Compose; "expressive" theme variants ship with later Material releases.

IDEs

  • Android Studio — Google's official IDE (IntelliJ-based). Free.
  • IntelliJ IDEA (Ultimate / Community) — same engine; less Android-specific tooling.
  • Fleet (JetBrains) — newer multi-language IDE; KMP-friendly.
  • VS Code + Kotlin extensions — works for editing; no first-class Android emulator integration.

Architecture / DI / state

  • AndroidX Lifecycle + ViewModel — the default state container.
  • Hilt — Dagger-based DI; the Google-recommended choice. Apache 2.0.
  • Dagger — bare; still used in Hilt's underbelly.
  • Koin — pure-Kotlin DI; popular in KMP / multiplatform. Apache 2.0.
  • Kotlin Coroutines + Flow — async / reactive primitives; default.

Persistence / databases

  • Room (Jetpack) — SQLite ORM; the default. KSP-powered, multiplatform support added in Room 2.7.
  • DataStore (Jetpack) — replaces SharedPreferences for typed preferences and small persisted state.
  • MMKV (Tencent) — fast key-value store; cross-platform; faster than DataStore for hot paths.
  • Realm — same MongoDB Realm story as iOS.
  • ObjectBox — fast NoSQL; free + paid sync.
  • SQLDelight — type-safe SQL across KMP; popular outside pure-Android.
  • See Mobile — Databases & Storage.

Networking

  • Retrofit + OkHttp — the long-standing default. Square-maintained, mature.
  • Ktor Client — Kotlin-first, multiplatform-ready; the better choice for KMP projects.
  • Apollo Kotlin — GraphQL client.

Distribution

  • Google Play Console — primary distribution. $25 one-time registration. Internal / Closed / Open testing tracks, Play App Signing.
  • F-Droid — FOSS app catalog; reproducible-build emphasis. Free.
  • Amazon Appstore — Fire devices and a fallback Android catalog.
  • Aurora Store — alternative Play Store front-end (anonymous installs).
  • Galaxy Store (Samsung) — Samsung-specific distribution.
  • Huawei AppGallery — Huawei devices (no Google Play in Huawei since 2019).
  • Direct APK / APK Mirror — sideload distribution; Android allows it natively.
  • See Mobile — Internal Distribution & MDM.

Testing

  • JUnit 4 / 5 — unit tests.
  • Espresso — instrumented UI tests; the long-standing default for View-based UIs.
  • Compose UI tests (createComposeRule) — Compose's built-in UI testing.
  • Robolectric — JVM-side Android tests; fast feedback.
  • MockK — Kotlin-first mocking. Apache 2.0.
  • Mockito — Java-era; works in Kotlin.
  • Paparazzi (Square) — render Compose to PNG on the JVM; snapshot testing without a device. Free.
  • Roborazzi — Robolectric-based Compose snapshot testing. Free.
  • See Mobile — Testing Frameworks and Mobile — Snapshot Testing.

Build tools

  • Gradle + Kotlin DSL — the default. AGP (Android Gradle Plugin) ships with Android Studio.
  • KSP (Kotlin Symbol Processing) — replaces KAPT for almost all annotation processors; faster.
  • Bazel — Google internal; rare in the wild.
  • Maven — legacy.

Privacy / compliance

  • Data Safety section — required Play Store metadata since 2022.
  • Play Integrity API — replaces SafetyNet for app/device attestation.
  • Scoped Storage — required since Android 11; no broad external storage.
  • Predictive Back — required gesture support since Android 14.

Wear / TV / Auto

Pick this if…

  • New Android-only app: Kotlin + Compose + Hilt + Room + Retrofit/Ktor.
  • Want to share code with iOS: Kotlin Multiplatform + Compose Multiplatform.
  • Existing View-based app: stay on Views; mix Compose via ComposeView incrementally.
  • FOSS distribution focus: F-Droid + reproducible builds.
  • Need cross-store reach: Play + Galaxy Store + Amazon Appstore + Huawei AppGallery.

On this page