Everything About Google I/O 2026 for Android Developers
androidgoogle-iocomposerelease

Everything About Google I/O 2026 for Android Developers

skydovesJaewoong Eum (skydoves)|

Google I/O 2026 reframed Android development around three ideas: agents now sit inside the toolchain, Compose is the default way to build UI, and the platform expects your app to adapt across phones, foldables, large screens, cars, and XR. Most developers will skim the keynote highlights and move on, but the release notes underneath carry concrete decisions that change how you set up projects, profile performance, and ship to Google Play this year. Some of these are version bumps you can adopt at your own pace. Others, like Views entering maintenance mode and Play Billing Library 9.0.0, set a direction you will plan migrations around.

In this article, you'll explore the I/O 2026 announcements that matter for day to day Android work: the Compose first decision and what maintenance mode means for Views, the stable Android CLI 1.0 and its Android Studio bridge for agents, the new Android Performance Analyzer replacing Android GPU Inspector, the Google Play platform updates, the breaking changes in Google Play Billing Library 9.0.0, and the remaining items from the official "17 things" roundup grouped by theme.

From the I/O keynote: What's new in Android

The headline I/O session, What's new in Android, packs the announcements into roughly an hour with Nick Butcher, Ash Nohe, and Daniel Galpin. It is the single best place to see the keynote framing of Android moving from an operating system to an intelligence system, and it surfaces specific numbers, customer examples, and platform changes that the individual release posts only hint at. The items below focus on what the session adds beyond the release notes covered elsewhere in this post.

Compose 1.11 details and R8 wins in production

Compose 1.11 introduces a new Styles API (experimental) that separates a component's behavior from its appearance, with built-in support for state and animated state changes, and recomposition kept minimal out of the box. The session also announces a new Compose vs Views benchmark suite for real-world app performance, and shares a TikTok production result of 20 to 30 percent improvements from rewriting screens in Compose, with one case reaching 78 percent.

On R8, the team announces R8 insights rolling out in the Play Console to surface optimization opportunities. Production numbers from the session:

  • Grab enabled R8 on a 9 million line codebase and reported a 25 percent NRA reduction, a 16 percent APK size reduction, and, combined with baseline and startup profile rework, a 27 percent reduction in startup time.
  • Tinder used the R8 Configuration Analyzer to identify a problematic keep rule and reported a 28 percent APK size reduction.

A new R8 skill ships alongside the analyzer to help agents work with R8.

Android 17 memory and runtime changes

Android 17 introduces app memory limits aimed at runaway memory leaks. If your session is impacted, getDescription contains the string Memory Limiter. The platform adds new profiling triggers: an ANOMALY type, plus triggers for cold start and excessive CPU, and the LeakCanary integration in the Android Studio profiler lets you ask Gemini to explain a leak and propose a fix.

ART introduces generational garbage collection, available via Google Play system updates on more than one billion devices. Targeting Android 17 also disables reflection on static final fields, which unlocks more aggressive ART optimizations: test that none of your dependencies rely on it. The new lock free MessageQueue reports up to 5,000x faster behavior in highly contended cases. Android 17 also restricts the size of images inside notifications with custom views, stripping them out if they exceed the threshold. Memory telemetry will roll out in the Play Console alongside smarter debugging in Android Studio, both aimed at the stricter memory management coming later this year.

Graphics moves to Vulkan, WebGPU comes to Jetpack

With Android 17, Vulkan is the native GPU API for the platform. OpenGL and WebGPU are layered on top, and ANGLE translates OpenGL calls to Vulkan: the recommendation is to test your app on ANGLE before the transition lands more broadly. For managed code paths, a new Jetpack WebGPU dependency provides an idiomatic Kotlin API for the modern GPU surface, and the upcoming Adobe Premiere mobile app uses it together with Jetpack Media3 Transformer for short form video templates and effects.

AI on screen and on device

Gemini can act as a cross app orchestrator: it analyzes app screens, navigates tasks, and stops for user input on sensitive actions like transactions, with no code required from you in almost all cases. The app runs in the background on a virtual display while the user does something else.

A new on device image and video enhancement library exposes effects such as upscaling, deblur, denoise, and tone mapping through processBitmapAsync against a bitmap or surface view. It runs on device, costs nothing per call, and works in airplane mode. Instagram's Edits app already uses it to improve video quality. Two more user facing AI lifts ship in this release: a next generation Autofill that reuses the hints you already provide but reports higher completion rates, and Magic Cue, which surfaces contextual app content and is expanding to more apps including Snapchat.

Adaptive across Wear, XR, cars, and desktop

Wear OS 7 ships with up to 10 percent better battery life and several phone to watch bridges that need no work on your side: a media session started on the phone can surface playback controls on a paired watch, and Live Update notifications can bridge from the phone to the watch. If you have a Wear OS app you can also expose App Functions so an agent like Gemini can start a workout in Samsung Health. Wear Workout Tracker lands in Google Play services this year (Runkeeper is an early adopter), and Compose for Wear OS 1.6 adds Navigation 3 support plus a mode manager for power saving states.

For multi device flow, the new Continue on capability lets a user start a task on one device and transition to another. Bubbles get a new Bubble Bar on large screens to help users manage them.

Android XR adds runtime geometry generation so you keep app size small instead of shipping large 3D models, a Geospatial API for wired XR glasses, support for Godot and Unreal engines, vendor extensions including scene understanding, light estimation, and face tracking, and additions to Jetpack Compose Glimmer for display glasses with new components like Vertical List and Stacks.

Cars get Car App Library 1.9 with 10 new flexible components, enhanced chips, expandable headers, and progress bars, plus a Maps with Content template that works on both Android Auto and Google built in. The roadmap previews APIs that transition between parked and driving and let parked users watch HD video. Amazon Music and Spotify are early adopters. On desktop, ChromeOS continues to share parts of the Android stack, and Bandlab, Power Director, and Notability are called out for adding keyboard shortcuts, drag and drop, and custom pointers to their desktop experience.

Privacy primitives, live updates, calls, and media

  • Credential Manager adds verified email and phone number checks, plus a Conditional Creation feature that mints a passkey for an existing password user.
  • Health Connect can now request that the user sync data from another app to simplify cross app setup.
  • Companion Device Manager offers a unified dialog for device association and nearby permission requests, with new profiles for medical devices and fitness trackers.
  • Apps targeting Android 17 must request ACCESS_LOCAL_NETWORK to discover devices on the LAN. Google Cast apps can use the Output Switcher to request a specific device without that permission, and Photo Picker now supports a portrait grid view.
  • Live Updates add a Metric Style template for health and fitness, timers, and travel, plus a Semantic Color API for state.
  • Unified call history brings logs from apps like WhatsApp and Meet into the native Phone app.
  • System emoji are updated to richer designs; use the system emoji to pick up the change automatically.
  • A new Picture in Picture Jetpack library covers video playback, calls, and navigation; with CameraX, users can read a script while recording.
  • Media on Android 17: new Pro image and video formats, HE-AAC for audio streaming and voice quality, and Eclipsa Video HDR playback with ExoPlayer out of the box support.
  • Accessibility: TalkBack can auto generate descriptions for Image Composables (continue to define your own where possible), and the new Accessibility Scanner is better at catching low contrast and small touch targets.

The full session is here: What's new in Android (Google I/O 2026).

Android UI development is now Compose first

The headline platform decision is stated plainly by the Android team: all Android UI should be built with Jetpack Compose. Compose is now the standard, and the View toolkit moves into maintenance mode alongside it.

Maintenance mode has a specific meaning here, and it is worth reading precisely rather than assuming the worst. The android.widget View system and the libraries built on it, including Fragments, RecyclerView, and ViewPager, will keep receiving critical bug fixes and will continue to be supported. What they will not receive is new feature development. There is no deprecation, no removal timeline, and no plan to break existing View based apps. If you have a large XML codebase, nothing stops compiling tomorrow.

What does change is where Google invests. New UI tooling in Android Studio is built for Compose only. The existing View based tools, such as the Layout Editor and the Navigation Editor, also enter maintenance mode and will not gain new capabilities. Documentation, codelabs, and samples now lead with Compose. The practical guidance from the announcement is incremental rather than a forced rewrite:

  • Build new features in Compose rather than extending XML layouts.
  • Migrate existing screens when you are already modifying them, so migration tracks real work instead of becoming a separate project.
  • Use the XML to Compose migration skill that Google ships for converting layouts, paired with interop so Compose and Views coexist during the transition.

The reasoning behind the decision is consolidation. Maintaining two UI toolkits doubles the surface area for features like shared element transitions, predictive back, and adaptive layout. Concentrating on one toolkit is the trade off Google chose, and the I/O release confirms that the Jetpack Compose April '26 release is the baseline for the new tooling. Full details are in the announcement: Android UI development is Compose first.

The Android CLI reaches stable 1.0

The Android CLI is now stable at 1.0. It is a lightweight command line interface that lets AI agents perform Android development tasks and retrieve Android knowledge, and it works with Gemini in Android Studio, Antigravity 2.0, the Antigravity CLI, and third party agents such as Anthropic's Claude Code and OpenAI's Codex.

The part that matters for correctness is the new bridge into Android Studio. Earlier agent setups operated on text without the semantic understanding the IDE already has. The android studio command exposes that understanding to an agent through a set of subcommands:

  • analyze-file: runs the IDE inspections to surface errors the way the editor would.
  • find-declaration: resolves a symbol to its definition across the project.
  • find-usages: lists every reference to a symbol.
  • render-compose-preview: renders a Composable preview to an image the agent can inspect.
  • version-lookup: returns dependency version information.
  • open-file: focuses a file in the IDE for the developer.

Two more capabilities round out the 1.0 surface. Journeys let an agent execute natural language descriptions of core user flows so it can validate behavior the way a user would, rather than asserting only on unit boundaries. The skills library is expandable, with specialized skills for XR development on display glasses, CameraX migration, Perfetto SQL query translation, adaptive UI, and test setup. Installation now goes through standard package managers including apt-get, winget, and Homebrew, you initialize a project with android init, and you manage skills with android skills list and android skills add.

The design point is that the agent no longer guesses at symbol resolution or compile errors. It asks the IDE, then acts. The full feature list is in the release post: Android CLI: stable 1.0.

Android Performance Analyzer replaces Android GPU Inspector

Android Performance Analyzer (APA) is the next profiling tool for apps and games, and it is positioned as the successor to Android GPU Inspector (AGI). It analyzes CPU, GPU, memory, and power across the whole system rather than a single layer.

The reason to move is measurable, not cosmetic. According to the announcement, rendering a trace in APA is typically 6x to 26x faster than in Android GPU Inspector, and APA is more stable on large traces, which is exactly where the old tool struggled. On top of speed, APA reorganizes the workflow:

  • System wide profiling across CPU cores, frequencies, and thread scheduling.
  • GPU performance counters from Qualcomm, Arm, Imagination, and Samsung hardware.
  • Power and battery tracking, plus SurfaceFlinger visibility into composition and display.
  • Screenshots embedded throughout the trace so you navigate visually instead of by timestamp alone.
  • Tabbed, project based organization with side by side trace comparison and persistent track customization.
  • Vulkan debug markers that show render pass names, and AI assisted SQL building for custom queries.

Under the hood APA builds on Perfetto for system tracing and LunarG's GFXReconstruct for graphics debugging. It targets Android 12 and higher for full system capture and GPU counter access, and it ships both as a cross-platform desktop application for Windows, macOS, and Linux, and integrated into Android Studio Panda 4 canary builds and later. Both are in open beta as of the I/O 2026 announcement. The introduction is here: Introducing Android Performance Analyzer.

What's new in Android developer tools

The I/O 2026 developer tools roundup pulls the Android Studio side of the agentic story together. The framing is a shift from AI assisted to agentic development, and the headline is the latest Android Studio Quail preview that bundles a set of new agent capabilities. The items below are the ones not already covered by the CLI and APA sections above.

Agent Mode and Agent Skills in Android Studio

Android Studio ships with pre-bundled Firebase and Android agent skills that ground the model in specific workflows: XML to Compose migration, edge to edge layouts, Navigation 3, and Jetpack Compose Glimmer for Android XR. Firebase services such as Auth and Firestore can now be enabled from inside Agent Mode, and Agent Mode supports parallel conversations so a long running task does not block planning a separate change. The New Project Agent extends to large screen development for tablets and foldables, with automatic testing on configured emulators.

Android Emulator and wireless debugging

The Android Emulator gains a new networking stack that lets virtual devices reach each other peer to peer, removing the manual port forwarding step for multi device tests. ADB Wi-Fi 2.0 lands in Android Platform Tools v37, paired with Android 17 devices, and wireless debugging targets show up in Device Manager without re-pairing.

Publish for Testing and Developer Verification

You can upload releases directly to Google Play Console internal test tracks from the signed app bundle flow with a "Publish for Testing" option. The same flow surfaces your Developer Verification registration status ahead of the September 2026 verification requirements, so registration gaps are visible before you ship.

LeakCanary and App Quality Insights with agents

LeakCanary now analyzes profiler traces on the desktop side, and Android Studio Quail 1 adds a "Fix with Agent" button that hands a leak to Gemini for a suggested resolution. App Quality Insights pairs the same agent with crash reports, surfacing a "Fix with AI" action that proposes a code change against the failing source.

Gemma 4 in the IDE and multi model support

Gemma 4 is positioned as the local model trained for Android development and is downloadable directly from Android Studio without an external server. Google AI Pro and Ultra subscribers get dedicated capacity and higher rate limits for Gemini in Android Studio, and developers can swap between Google, Anthropic, OpenAI, and local Gemma 4 models depending on the task.

The complete roundup is here: What's new in Android developer tools.

What's new in Google Play

The Google Play I/O updates split into reach, monetization, and operations. Read them as a set of levers rather than a single feature.

On reach, app discovery now surfaces inside Gemini on Android and the web, and later this year Gemini will deep link into apps for over 450,000 movies and TV shows along with live sports streaming. The Engage SDK now reaches more than 30 million monthly active users, up 45 percent year over year, and adds store listing integration and tablet surfaces across 80 plus markets. Play Shorts, a full screen short form video feed that demonstrates app functionality, is rolling out in the US and select markets, and Ask Play adds a conversational search overlay with summarized highlights on results pages.

On monetization and revenue protection, the changes target involuntary churn directly:

  • Delayed charging grants immediate access on low risk failed payments while the charge retries in the background.
  • Extended account recovery moves the window from 30 to 60 days, which Google reports drives up to an 18 percent reduction in involuntary churn and a 9 percent reduction in total churn for top developers.
  • Flexible subscription management adds an API for mid cancellation plan changes and downgrades with automated prorated refunds.

On operations, Gemini pre-populates store listings across languages from CSV or Google Sheets uploads with AI translated subscription benefits, a keyword recommendation can generate a tailored custom store listing automatically, and new agentic catalog management handles bulk price changes, SKU imports, and metadata. Analytics gains a new reach metric, cart conversion rates, subscriber tenure, and churn reason breakdowns, with Gemini generated chart descriptions across the Statistics, Reach and Devices, and Store Performance pages. The Protected with Play dashboard centralizes integrity, distribution, and monetization defenses, with reduced Play Integrity API warm up latency. The complete rundown is here: I/O 2026: What's new in Google Play.

Google Play Billing Library 9.0.0

Play Billing Library 9.0.0 shipped on 2026-05-19. This is a major release, so plan the upgrade against the PBL 9 migration guide rather than treating it as a routine bump. There are two changes that can alter runtime behavior if you ignore them.

First, the response code for a blocked Play Store changed. When the Play Store app is blocked by the system, for example in an OEM customized kids mode, the result is now BILLING_UNAVAILABLE instead of the previous generic ERROR, and BillingResult carries a "Play Store is blocked" debug message. This requires AndroidX core 1.9 or later. If your code branches on ERROR to handle this case, that branch will no longer fire.

Second, DeveloperProvidedBillingDetails.getLinkUri() is now @Nullable. It can return null when the direct link URI for external payments is unavailable at payment selection time. Before parsing the URI or launching a browser intent, handle both null and the empty string:

val uri = developerProvidedBillingDetails.getLinkUri()
if (!uri.isNullOrEmpty()) {
    // Safe to parse the URI or launch a browser intent
}

The release also updates targetSdkVersion to 35 and adds in-app messaging for opt in price increases. The message can show starting on the first day a user is able to accept the increase, at a maximum frequency of once every 7 days, so the user never has to leave your app to act on it. The full notes are at the Play Billing Library release notes.

The rest of the 17 things, grouped by theme

The official roundup lists 17 items. The ones with their own release notes are covered above. The remaining items group cleanly into four themes, and the complete list lives in 17 things Android developers should know from Google I/O 2026.

Building with agents

Beyond the Android CLI, Google AI Studio can now build native Android apps from a prompt, generating Jetpack Compose and Kotlin with recommended API patterns, an embedded emulator, device deployment, and Play Console integration. Android Bench is an LLM leaderboard for Android development challenges that now includes open weight models such as Gemma 4. The Android Studio Migration Assistant converts iOS, React Native, and web apps toward native Android by automating feature mapping and asset conversion, reducing manual porting from weeks to hours.

Building AI into your apps

Gemini Nano 4 is in preview for on device tasks like extraction and summarization, while Firebase AI Logic covers cloud Gemini models. A new Agent Development Kit for Android adds the AG-UI and A2UI protocols. The AppFunctions platform API, available in private preview with an Early Access Program, lets your app act as an on device MCP server so an agent can call into your app's capabilities.

The future is adaptive

Adaptive design is now a default expectation, with more than 580 million large screen devices in use. Jetpack Navigation 3 ships with experimental Grid and FlexBox layouts, and CameraX produces correct previews across window sizes. Android gains desktop support with a new Desktop Emulator in Android Studio Canary and desktop specific quality guidelines. Jetpack Glance becomes the single Compose based widget model across mobile, Wear OS, and cars, with RemoteCompose enabling animations on remote surfaces. Android for Cars unifies Android Auto and Android Automotive OS development with new templated media apps, and Android XR Developer Preview 4 moves XR Runtime, Jetpack SceneCore, and ARCore toward Beta.

Performance and the platform

The performance suite adds the R8 Configuration Analyzer for binary size, ProfilingManager with LeakCanary integration in Android Studio, and the Android Performance Analyzer covered above. For professional media there is a CameraXViewfinder Composable, a Media3 AI effects library, CodecDB for chipset specific encoding, and ExoPlayer scrubbing mode. Google TV adds pointer remote support and the Engage SDK, with the legacy Watch Next API losing support in the second half of 2027. Android 17 brings a lock free MessageQueue, improved garbage collection, new contact picker and eyedropper APIs that reduce permission requirements, background audio hardening, SMS OTP protection, and mandatory large screen resizability.

Where to start

If you adopt nothing else this cycle, sequence the work by risk rather than novelty. Read the Play Billing Library 9.0.0 notes first, because the ERROR to BILLING_UNAVAILABLE change and the nullable getLinkUri() can change behavior silently in production. Next, set your default for new UI work to Compose and adopt the incremental migration guidance, since this is the direction tooling and documentation now follow. Then evaluate the Android CLI and Android Performance Analyzer, which improve how you build and profile without forcing changes to shipped code. The remaining adaptive and AI items are opportunities you can schedule against your roadmap rather than obligations this quarter.

Summary

  • Compose is the standard for Android UI; Views move to supported maintenance mode with bug fixes but no new features.
  • Android CLI 1.0 is stable and bridges agents into Android Studio for real symbol resolution, inspections, and Compose preview rendering.
  • Android Performance Analyzer replaces Android GPU Inspector with 6x to 26x faster trace rendering and better large trace stability.
  • Google Play adds Gemini discovery, Play Shorts, delayed charging, a 60 day recovery window, and agentic catalog tooling.
  • Play Billing Library 9.0.0: BILLING_UNAVAILABLE replaces ERROR for a blocked Play Store, and getLinkUri() is now @Nullable. Plan the migration.

Sources

As always, happy coding!

Jaewoong (skydoves)

Read the original announcement

This summary is based on the upstream post on the Android Developers Blog. Visit the original for the full announcement, code samples, and links.

Open Android Developers Blog