0/0 done
Getting Started 0%
Halfway
🚀 Almost There
🏆 Complete
Android Developer Roadmap 2026 Application Fundamentals Android Package APK AAB Languages Kotlin K2 Compiler Java (legacy) C++ (JNI) Android Operating System Foundations Multi-User Linux File Permissions Resource Isolations Process Management Sandboxing & SELinux Scoped Storage Android Platform Architecture Layers The Linux Kernel Hardware Abstraction Layer Android Runtime (ART) Native Libraries Java API Framework System Apps AICore App Manifest Core Package Application ID Permissions Declaration Foreground Service Types Queries / Package Visibility App Components Components Activity Service Broadcast Receiver Content Provider Intent Intent Filters Explicit Intents Implicit Intents PendingIntent (mutability) App Entry Points Activities Activity Lifecycles Activity State Changes Task and Back Stack Parcelables and Bundles Modern Entry APIs App Shortcuts Splash Screen API Activity Result API Predictive Back Gesture App Navigation Navigation Component Navigation Graph Type-safe Routes Navigation 3 Navigation Compose Destinations DeepLink App Links TabLayout ViewPager2 (legacy) Custom Back Navigation App Links verification Digital Asset Links Fragments (legacy) Fragment Lifecycles Fragment State Changes Fragment Manager Fragment Transactions DialogFragment BottomSheetDialogFragment App Startup & Performance Startup Jetpack App Startup Cold / Warm / Hot Start Performance Baseline Profiles Macrobenchmark Startup Tracing (Perfetto) Architecture Components UI Layer ViewBinding DataBinding (legacy) Lifecycle ViewModel LiveData (legacy) Paging 3 SavedStateHandle repeatOnLifecycle Data Layer DataStore WorkManager Repository Pattern Domain / UseCase Design Patterns Creational Builder Pattern Factory Pattern Dependency Injection Hilt Dagger (legacy) Koin kotlin-inject Metro Observer Pattern Flow StateFlow / SharedFlow Channels RxJava (legacy) LiveData (legacy) Architecture Patterns MVVM MVI Clean Architecture Unidirectional Data Flow (UDF) Modern App Architecture UI Layer Domain Layer Data Layer State Holders / UiState Modularization & Build Logic Build Gradle Kotlin DSL Version Catalogs Convention Plugins (build-logic) KSP Dependency Analysis Plugin Module Structure :app :feature:* :core:* :data:* :domain:* Network Clients & I/O OkHttp Interceptor Retrofit Okio Ktor Ktorfit Data Formats kotlinx.serialization Moshi Apollo Kotlin (GraphQL) Image Loading Libraries Coil 3 (KMP) Glide coil-compose Landscapist Local Storage Databases Room (KMP) SQLite SQLDelight Realm Kotlin / Atlas Device SDK Key-Value DataStore Encrypted DataStore SharedPreferences (legacy) Asynchronous & Concurrency Coroutines Flow StateFlow SharedFlow Channels Structured Concurrency Dispatchers Other Thread WorkManager Expedited Jobs RxJava (legacy) User Interface (Views — Legacy) Layouts ConstraintLayout MotionLayout LinearLayout FrameLayout RecyclerView Styles Light Theme Dark Theme Animation ValueAnimator ObjectAnimator Lottie Material Motion Design Material 3 / Material You Material 3 Expressive Dynamic Color (Monet) Messages Toast Snackbar Notification Notification Permission Notification Channels Compose UI Recomposition Snapshot Strong Skipping Mode Compose Compiler Reports Stability (@Stable, @Immutable) Deferred reads State Hoisting State Holder rememberCoroutineScope Theming (Material 3) Color Typography Shape Dimens MotionScheme Custom Theme Layout Column Row Box ConstraintLayout FlowRow / FlowColumn SubcomposeLayout LookaheadLayout Custom Layout Image Icon Image AsyncImage (Coil 3) coil-compose Landscapist Graphics Surface Canvas Brush GraphicsLayer AGSL Shaders Gestures Scrolling Dragging Swiping Zooming Anchored Draggable Predictive Back Navigation NavHost composable destinations Type-safe routes Performance Stable params movableContentOf Baseline Profiles State MutableState remember rememberSaveable derivedStateOf produceState snapshotFlow Side-effects LaunchedEffect DisposableEffect rememberUpdatedState Modifier Modifier Order Chaining Composed modifier Modifier.Node API Lists LazyColumn LazyRow LazyVerticalGrid LazyHorizontalGrid LazyVerticalStaggeredGrid LazyPagingItems HorizontalPager VerticalPager Text Text TextField OutlinedTextField BasicTextField2 ClickableText AnnotatedString Animation AnimatedVisibility AnimatedContent Crossfade Animatable animate*AsState InfiniteTransition Shared Element Transitions CompositionLocal CompositionLocalProvider compositionLocalOf staticCompositionLocalOf Components ModalBottomSheet PullToRefresh Scaffold Testing & Preview createComposeRule Semantics @Preview @PreviewParameter Multipreview Adaptive UI & Form Factors Adaptive WindowSizeClass Material 3 Adaptive NavigationSuiteScaffold ListDetailPaneScaffold SupportingPaneScaffold Insets Edge-to-edge WindowInsets Form Factors Foldables (FoldingFeature) Large Screens / Tablet Compose for Wear OS Compose for TV Android XR Widgets (Glance) Glance GlanceAppWidget GlanceStateDefinition Glance + Material 3 Camera & Media Camera CameraX Camera2 Media Media3 / ExoPlayer Photo Picker MediaStore (scoped) Background Work Foreground Foreground Service Types Expedited Work Scheduling AlarmManager Exact Alarms permission JobScheduler Doze & App Standby Privacy & Security Privacy Privacy Sandbox on Android Photo Picker Granular Media Permissions Notification Permission Scoped Storage App Set ID Security Credential Manager / Passkeys Biometric API Network Security Config Data Safety (Play Console) On-Device AI / GenAI On-device AICore Gemini Nano ML Kit GenAI APIs ML Kit (Vision/Text/Translate) LiteRT (TFLite) MediaPipe Tasks Cloud Firebase AI Logic Vertex AI in Firebase Kotlin Multiplatform KMP expect / actual commonMain androidMain iosMain Compose Multiplatform iOS Interop cinterop Swift Export KMP Libraries Ktor SQLDelight kotlinx.coroutines kotlinx.serialization Koin Decompose Voyager Coil 3 Room KMP Service Google Google Play Services Google Maps Health Connect Credential Manager Advertisement Google AdMob AppLovin MAX Unity LevelPlay Firebase Authentication Crashlytics Remote Config Cloud Messaging FireStore Realtime Database App Check Performance Monitoring Firebase AI Logic Code Analysis & Test Linter Ktlint Detekt Android Lint Spotless Unit Test JUnit 4 / JUnit 5 Kluent MockK Robolectric Turbine Truth / AssertK / Kotest Benchmark Microbenchmark Macrobenchmark Debugging Timber LeakCanary Chucker Layout Inspector App Inspection Android Test Espresso Kaspresso Compose Test Rule Maestro UI Automator Screenshot Test Paparazzi Roborazzi Compose Preview Screenshot Testing CI/CD Pipelines GitHub Actions GitLab CI Jenkins Tooling Fastlane Gradle Build Cache (remote) Gradle Enterprise / Develocity QA & App Publishing Distribution Firebase App Distribution Google Play Store Play Console Internal / Closed / Open Testing Play App Signing Play Integrity API In-App Updates In-App Reviews Play Asset Delivery