Android app development is the practice of building lifecycle-driven software that runs on the Android platform, primarily using Kotlin with the Android SDK + AndroidX (Jetpack). Jetpack Compose is the recommended modern UI toolkit, backed by a declarative state model and a rich ecosystem spanning navigation, animations, adaptive layouts, and on-device AI. Production complexity arises from coordinating UI state with asynchronous work (network, storage, background execution) while respecting component lifecycles and modern platform restrictions. A useful mental model: the system owns your process and components, and your app reacts to callbacks, intents, and state flows rather than controlling a linear main loop.
What This Cheat Sheet Covers
This topic spans 18 focused tables and 192 indexed concepts, 164 flashcards. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
A jump-to index of every table row in this cheat sheet.
An interactive map of every table and concept in this topic.
Table 1: Tooling and Core Setup
Everything you reach for before writing a line of app code lives here β the IDE, the Gradle wrapper that pins your build version, and the command-line tools (adb, sdkmanager, logcat) that talk to devices and emulators. Get these right early and the rest of the toolchain mostly stays out of your way.
| Tool | Example | Description | |
|---|---|---|---|
Tools > SDK Manager | Primary IDE for Android development (code, build, run, debug, profile). | ||
./gradlew tasks | Project-pinned Gradle launcher ( gradlew / gradlew.bat) that downloads and uses the declared Gradle version. | ||
plugins { id("com.android.application") } | Gradle plugin that adds Android build tasks β APK/AAB packaging, resources, and manifest merging. | ||
libs.versions.toml in gradle/ | β’ Centralized dependency and version declarations in TOML β’ reduces duplication across modules. | ||
class MainActivity : ComponentActivity() | β’ Kotlin-first language for Android β’ official recommended language since 2019. | ||
adb devices | CLI bridge to devices and emulators for install, shell, logs, and port forwarding. | ||
sdkmanager --list | Command-line SDK package manager for listing, installing, and updating Android SDK components. | ||
logcat -s MyTag:D *:S | β’ CLI log viewer for system and app logs β’ pairs with Log.* calls. | ||
Logcat > Filter by package | Android Studio UI for live device logs with package and severity filtering. | ||
emulator -avd Pixel_7_API_34 | Start or list AVDs from the command line for repeatable CI runs. |