Media3 1.11.0 Stable: OggMuxer, Chapter Metadata, and the Production Upgrade Checklist

Media3 1.11.0 graduated to stable on August 5. Beyond what alpha01 and beta01 shipped, stable adds OggMuxer and WavMuxer for audio output, MP4 chapter extraction, enablePerStreamMediaProgression() for startup latency, HLS Content Steering, and five API removals to fix before you upgrade.

10 min read
Android Skills: Why Google Built an AI Knowledge Layer Designed to Disappear

Google's official Android Skills are built for deprecation by design — every skill should eventually make itself obsolete as models improve. The philosophy, the evaluation framework (think integration tests for AI knowledge), when skills actually add value, and why only ~20 official ones exist.

9 min read
Compose 1.12 RC01: Sound Effects, Passkey Semantics, and the APIs Before Stable

RC01 shipped July 29 — stable is weeks away. Beyond the visual APIs covered in beta, 1.12 adds SoundEffectOnInteraction for accessibility-aware click sounds, credentialRequest Semantics for passkey-ready Compose login forms, a breaking TextObfuscationMode rename in BasicSecureTextField, and InterceptPlatformTextInput promoted to stable.

10 min read
Compose's New Adaptive Layout APIs: FlexBox, Grid, and mediaQuery() Explained

Three new experimental layout primitives bring CSS-inspired adaptive layouts to Jetpack Compose: FlexBox for flowing content sections, a structural Grid for 2D panels without lazy loading, and mediaQuery() for branching on device posture, pointer precision, and viewing distance — not just window width.

11 min read
Jetpack Navigation 2.10 Beta: KMP on 9 Platforms, Richer Predictive Back, and the Maintenance Mode Signal

Navigation 2.10.0-beta01 ships multiplatform support for Desktop, macOS, iOS, WASM, tvOS, and watchOS; NavBackStackEntryInfo for custom predictive back animations; NavUri replacing android.net.Uri; and a deep link security fix. Plus the honest maintenance mode reality check and a decision tree for Navigation 2.x vs Navigation3.

9 min read
ML Kit GenAI Gets @Generable Structured Output and Gemini Nano Speech Recognition

Google's 'Build intelligent Android apps' series introduced @Generable annotations for type-safe structured output via KSP, and a new genai-speech-recognition 1.0.0-alpha1 library. Here's the integration guide: setup, data class annotations, streaming transcription, and how to go from 13-second receipts parsing to under 2 seconds.

10 min read
Play Age Signals API Goes Global: Build Age-Appropriate Android Experiences Without Custom Age Gates

Google's Play Age Signals API expands to Australia and Canada in mid-August, then globally by year-end. Integration guide with AgeSignalsManager, the four default age tiers, testing with FakeAgeSignalsManager, and the strict policy restrictions that govern what you can actually do with the data.

9 min read
Android 17's Security Hardening: The Behavior Changes That Will Break Your Production App

Seven security and privacy behavior changes in Android 17 that aren't in the other posts: ACCESS_LOCAL_NETWORK permission for LAN access, banned static-final reflection, enforced ECH and Certificate Transparency, stricter native DCL, Contacts Provider 2 PII removal, and more.

10 min read
Compose Material3 1.5.0-alpha25: The Expressive API Cleans House

Alpha25 lands six API renames and two deprecations as M3 Expressive hardens toward stable — trailingIcon becomes trailingContent, TonalToggleButton becomes FilledTonalToggleButton, SplitButtonLayout is deprecated, and ComponentOverride is removed entirely. Plus alpha24's new material3-ripple artifact for inset focus rings.

9 min read
Navigation3 1.2.0-alpha07: BackStackMatcher Solves the Deep Link Back-Stack Problem

Alpha07 adds BackStackMatcher — a declarative way to build a synthetic back stack when handling deep links — plus DeepLinkSerializer for complex argument types, five targeted bug fixes, and Navigation3 1.1.5 stable on the same day.

9 min read
5 Years of Jetpack Compose: Views Enter Maintenance Mode, and What That Actually Means for Your App

Google officially moved the Views toolkit to maintenance mode — bug fixes only, no new features. 68% of the top 1,000 Play apps already use Compose. Here's what the announcement means for teams still on View-based UI and how to think about the migration now.

8 min read
R8 Makes Kotlin Coroutines 2x Faster in AGP 9.2 — and You Don't Change a Single Line

AGP 9.2.0 ships an R8 optimization that rewrites AtomicReferenceFieldUpdater into direct Unsafe calls, cutting coroutine overhead by half and improving Compose's Modifier.clickable by 2x — automatically. Here's the three-step mechanism and what it means for your benchmarks.

9 min read
Galaxy Unpacked 2026: What the New Foldable and Wearable Lineup Means for Android Developers

Samsung unveiled a new lineup of foldable and wearable devices at Galaxy Unpacked London. The Android team responded the next day with a clear message: your adaptive layout strategy needs to level up. Here's the developer picture — Window 1.6.0 engagement APIs, NavigableListDetailPaneScaffold, and the Android 17 hard deadline.

9 min read
Kotlin 2.4.20 Beta2: Sealed Classes Map to Swift Enums, Incremental klib Ships by Default

Kotlin 2.4.20-Beta2 lands sealed class Swift export for exhaustive enum switching in KMP, incremental klib compilation on by default for faster Kotlin/Native debug builds, four new stdlib collection functions, and an experimental compiler native image.

8 min read
Nearby Connections API Is Losing Auto-Radio Management: What Changes and How to Adapt Now

Google is removing the Nearby Connections API's silent ability to enable Wi-Fi and Bluetooth on your app's behalf. Late 2026 enforcement, all three strategies affected. Here's the pre-flight check pattern and how to audit your connection flows before the deadline.

8 min read
Navigation3 1.2.0: Deep Links and Result Passing Fill the Two Biggest Gaps from Stable

Navigation3 1.2.0-alpha05/06 adds UriDeepLinkMatcher for URI-to-NavKey resolution and ResultEventBus for typed result passing between destinations — the two features that 1.1.4 stable shipped without. Full API surface with real code.

9 min read
Google Play Catalog Access Is Live: What Third-Party App Stores Mean for Android Developers

As of July 22, your Play Store app listing is available to rival US stores by default. Downloads still flow through Play, billing is unchanged, but you now have a decision to make in Play Console. Here's the opt-in/out trade-off, the Epic settlement context, and what actually changes in your app (spoiler: nothing in the APK).

10 min read
Samsung Galaxy Glasses Are Real: What Android Developers Need to Build for the First Consumer Android XR Device

Samsung announced Galaxy Glasses at Unpacked today — phone-tethered, display-free, Gemini Live API as the app model. One codebase targets headset, display glasses, and audio glasses at runtime. Here's the developer model that matters before hardware ships this fall.

10 min read
Glance 1.3.0 for Wear OS: Health-Aware Widgets, Studio Previews, and a Required Annotation Change

Glance 1.3.0 brings HealthData APIs for heart rate and steps in Wear widgets, WearWidgetPreview for Android Studio design-time rendering, GlanceWearWidgetManager for querying active instances, and a mandatory @AssociateWithGlanceWearWidget annotation that will break existing code on upgrade.

9 min read
AndroidX PDF 1.0.0-alpha19: Editable Forms, Public Annotations, and OCR — The Third-Party Killer Gets Serious

Alpha19 lands EditablePdfDocument for inline form filling with autofill, a pdf-core module split that decouples document models from the UI layer, OcrProvider APIs for scanned documents, and public AnnotationView. The case for dropping your third-party PDF SDK just got stronger.

8 min read
Jetpack Tracing 2.0: In-Process Perfetto Without the Setup Tax

Tracing 2.0.0-beta01 replaces the android.os.Trace wrapper with a full in-process Perfetto engine. TraceDriver brings metadata-tagged slices, coroutine context propagation across suspend/resume boundaries, and JVM support — the tracing story production apps actually needed.

10 min read
Jetpack XR SDK 1.0.0 Beta: The Breaking Changes That Matter for Spatial App Developers

xr.arcore, xr.scenecore, and xr.runtime all hit 1.0.0-beta01 on July 15. Session.create is now a suspend function, AnchorEntity became AnchorSpace, and the movable modifier got a policy API. Here's what breaks and how to migrate.

9 min read
WorkManager 2.12: Your Background Jobs Finally Leave a Paper Trail

WorkManager 2.12.0-alpha01 ships a new work-analytics artifact with WorkMetricsInfo — duration, stop reasons, retry counts, and full execution history — so background job failures finally have a structured record you can query and pipe into your analytics stack.

9 min read
Android Studio Quail 2: Concurrent Agent Tabs, Native LeakCanary, and Crash Remediation That Actually Works

Quail 2 (2026.1.2) is stable. Run multiple Gemini agent chats in parallel, get LeakCanary heap analysis at 5x speed on your development machine, and triage production crashes with full source context — not just the stack trace.

10 min read
Media3 1.11.0-beta01: Track Priority, DASH CDN Fallback, and the Session Crashes Worth Fixing Now

Beta01 lands Format.selectionPriority for HLS/DASH adaptive streaming, multi-Location DASH fallback for CDN resilience, and fixes a ForegroundServiceStartNotAllowedException crash that bites every background music app.

9 min read
DataStore 1.3.0: The Encryption API That Was Missing, Plus KMP and a Better Builder

DataStore 1.3.0-alpha finally adds Tink-backed AES-256-GCM encryption, a new DataStore.Builder that enforces application-scoped context, and Kotlin Multiplatform Web support with OPFS, localStorage, and sessionStorage.

10 min read
JetBrains Kotlin Benchmark: Which AI Coding Agent Actually Works on Real Kotlin Code?

JetBrains launched the official Kotlin Benchmark this month — 105 real engineering tasks from production codebases, scored by whether the AI actually passes regression tests. Claude Code + Opus 4.7 leads at 85.71%. Here's what the results mean for Android developers.

9 min read
CameraX 1.7.0-alpha02: Built-In Gestures, Night Mode Detection, and GPU ImageAnalysis Are Here

Alpha02 lands pinch-to-zoom and tap-to-focus natively in CameraXViewfinder, adds a Night Mode Indicator API, exposes GPU-native ImageAnalysis via HardwareBuffer, and brings granular audio controls and AE/AWB locking to the recorder.

10 min read
Material Expressive Reaches Compose Material3 1.5.0: The Components Worth Building With Now

FloatingToolbar, ButtonGroup, WavyProgressIndicator, and 10+ other Expressive APIs graduated to stable in alpha23. Plus a unified rememberBottomSheetState() that deprecates two separate sheet state APIs. Here's what to adopt today.

10 min read
Paging 3.5.0: The APIs That Finally Let You Compose Paging State With the Rest of Your UI

asItemSnapshotListFlow() converts your PagingData flow into a standard Flow you can combine() with other state, and the new append/prepend/refresh/retry methods give you manual load control that isn't tied to scroll position.

10 min read
Android Bench Gets the Harbor Framework: Which AI Model Should You Actually Use for Android Work?

Android Bench migrated to Harbor on July 8 — adding latency, cost, and CI range dimensions. Claude Fable 5 tops at 84.5%, open-weight models now included. Here's how to read the leaderboard for your actual Android workflow.

9 min read
AppFunctions: How Android Turns Your App Into a First-Class AI Agent Tool

AppFunctions is Android 16's on-device MCP equivalent — annotate Kotlin suspend functions, write clear KDoc, and AI agents like Gemini discover and execute your app's capabilities without the user opening your UI.

10 min read
Hilt 1.4.0 Goes Stable: The ViewModel Factory Change That Completes the Lifecycle 2.11 Story

rememberHiltViewModelFactory() drops the ViewModelStoreOwner parameter, the Compose artifact is now separate from navigation, and paired with Lifecycle 2.11's rememberViewModelStoreOwner it finally makes per-Pager-page Hilt ViewModels clean to write.

8 min read
Gemma 4 and the ML Kit GenAI Prompt API: Building Real On-Device AI in Android Apps

Gemma 4 E2B/E4B are available now via the ML Kit GenAI Prompt API and AICore Developer Preview. Here's the production architecture, hybrid inference with Firebase AI Logic, prefix caching, and when on-device AI actually makes sense.

9 min read
Compose 1.12: MeshGradient, a Properly Controllable SwipeToReveal, and Scroll Indicators Across Everything

1.12.0-beta02 landed MeshGradient for organic multi-point gradients, SwipeToReveal with RevealState.drag() and custom flingBehavior, Scroll Indicators across all scrollable containers, and Material3 TopAppBar/ButtonGroup graduation to stable.

9 min read
Android Studio Quail 1: The Developer Tooling Upgrade That Ships Better Apps

APA renders traces 26x faster, Gemini-powered LeakCanary analysis moves off the device, R8 Configuration Analyzer scores your keep rules, and ADB Wi-Fi 2.0 finally makes wireless debugging reliable. Here's what actually changes.

10 min read
Android 17's New APIs Worth Actually Building With: Handoff, Contact Picker, and Free Performance Gains

API 37 isn't just behavior changes. The Handoff API, Contact Picker, ART lock-free MessageQueue, and PQC signing are new capabilities worth actually building with.

10 min read
Navigation3 Goes Stable: What Android's New Compose-First Navigation Library Actually Means

Navigation3 1.1.4 hit stable on July 1 — type-safe NavKey destinations, developer-controlled NavBackStack, KMP support, and a SceneStrategy system that finally makes adaptive layouts clean. Here's what actually changed and when to migrate.

9 min read
Eclipsa Video on Android 17: The HDR Standard That Finally Makes Video Look Right on Every Screen

Android 17 ships native Eclipsa Video — SMPTE ST 2094-50 adaptive HDR for mobile. ExoPlayer handles it automatically with zero codec configuration; Camera2 gets a new HLG10_SMPTE_2094_50 capture profile.

8 min read
Lifecycle 2.11.0: Scoped ViewModels Per Pager Page — The API Android Developers Have Needed for Years

ViewModelStoreProvider and rememberViewModelStoreOwner finally give Compose Pager pages proper, config-change-safe ViewModel scoping without manual map management. Plus KMP support and lambda lifecycle observers.

8 min read
Media3 1.11.0-alpha01: PlayerPool, the Compose Player UI Overhaul, and What Changes for Video Apps

PlayerPool brings official sliding-window preloading for vertical feeds, dynamic scheduling is now default, and the Compose player UI suite finally has all its pieces.

10 min read
AGP 9.x Migration: What Actually Breaks When You Bump the Version

14 property defaults flipped, Variant API removed, R8 repackaging on by default. Everything you need to migrate cleanly.

11 min read
Google Play's New Fee Structure and Billing Choice: What Actually Changes for Android Developers

Service fees restructured, billing choice expanded effective June 30, 2026. What it means for subscriptions, digital goods, and indie revenue.

9 min read
Android XR Developer Preview 4: What the Jetpack XR SDK Actually Means for Android Developers

ARCore 1.0.0-alpha15 — QR Code API, Geospatial mode overhaul, hand tracking renames. What transfers from mobile Android work.

10 min read
ProfilingManager: Production Profiling in Android Without ADB or Dev Options

Heap dumps, heap profiles, and stack sampling on real user devices. Android 16 adds automatic cold start and ANR capture.

10 min read
Room 3.0 Hits RC: The Breaking Changes Every Android Dev Needs to Know Before Upgrading

New package, KSP-only, no SupportSQLite, mandatory coroutines. What actually breaks and what's worth migrating for.

10 min read
Android 17 Is Out: The Behavior Changes That'll Actually Bite You, Not the Headline Features

Six API 37 behavior changes around background audio, memory limits, SMS OTP, and large-screen adaptivity that will actually break things.

10 min read
Kotlin 2.4.0: What Actually Matters for Android Developers

Stable context parameters, explicit backing fields, stable UUID API — plus AGP and Compose compiler changes worth checking before bumping the version.

9 min read
Android Developer Verification Is Coming: What It Actually Means for Indie Developers

Enforcement starts Sep 30, 2026 in Brazil, Indonesia, Singapore, and Thailand. What changes for Play Console developers.

9 min read
Jetpack Compose 1.11: Pausable Composition Goes Default, and a Real Grid API Arrives

Compose 1.11.3 closes a long-standing performance gap with Views and ships an experimental CSS-Grid-style layout API.

9 min read
Top 3 Android Developer Productivity Announcements from Google I/O 2026

Android CLI stable, AI agents with Android skills, Android Bench open-source support — the announcements that actually matter.

8 min read
Memory Leaks in Android: How to Detect, Fix, and Never Let Them Slip Again

8 real leak patterns with bad → fixed code examples, LeakCanary setup, Memory Profiler walkthrough, and a pre-ship checklist.

14 min read
How I Cut App Startup Time by 60% on a Production Android App

Profiling cold start, eliminating blocking content providers, lazy Hilt initialization, and shipping Baseline Profiles to production.

8 min read
Clean Architecture on Android: 5 Years of Lessons

Where Clean Architecture genuinely shines, where it adds unnecessary ceremony, and how I've evolved it across 10+ apps.

12 min read
Building a TikTok-Style Vertical Feed with ExoPlayer

The preloading strategy, ViewPager2 pooling tricks, seamless auto-transitions, and avoiding memory leaks in a video list.

10 min read
Claude Fable 5: Anthropic's Most Powerful Model, a Record-Breaking Launch, and a Government Suspension

Mythos-class capability, 1M token context, 128k output — launched June 9, suspended by the US government three days later. What it means for developers building with AI APIs.

10 min read
Firebase AI Logic on Android: Gemini Integration Patterns Every Developer Should Know

Structured JSON schemas, Maps Grounding to stop hallucinated coordinates, and Gemini 2.5 Flash TTS — three production patterns from Google's XR tour guide app.

10 min read