02 Jun 2026
Android Developers Blog
Prioritizing Memory Efficiency: Essential Steps for Android 17

While app performance is often equated with a smooth UI and fast start times, memory serves as the silent foundation upon which these visible metrics are built. It's no secret that we're seeing a shift where device memory is more important than ever. Not only have we made strides in Android memory optimizations with Android 17, we're providing the tooling and API support to help you stay ahead of stricter memory requirements later this year.
To ensure device stability, starting in Android 17, the system will begin enforcing app memory limits based on the device's total RAM. If an app exceeds those limits, Android will kill the process with no associated stack trace.
To build highly performant apps and avoid these forced terminations, we recommend that you adopt the following memory optimization strategies:
Understanding Android 17 app memory limits
App memory limits are being introduced in Android 17 to prevent "one bad actor" from destroying the multitasking experience and stability of the user's entire device.
Here is a breakdown of the reasons driving this architectural change:
- Preventing cascading kills: When an app becomes bloated or leaks memory while holding a privileged state (e.g. it's running a Foreground Service), it is initially shielded from the system's Low Memory Killer (LMK). As this single app grows unchecked and hoards RAM, the LMK is forced to compensate by killing off dozens of smaller, well-behaved cached apps and background jobs to reclaim space for the memory hog.
- Preserving multitasking and user state: When the system is forced to purge cached apps to accommodate a single leaking process, the multitasking experience is severely degraded. Users returning to prior cached applications encounter sluggish cold starts instead of near-instant warm resumes. This inefficiency generates more CPU strain and accelerates battery depletion. It can also destroy the user's context in recently used apps, such as scroll positions, navigation stacks, and in-game progress.
To determine if your app session was impacted by these constraints in the field, you can call getDescription() within ApplicationExitInfo. If the system applied a limit, the exit reason is reported as REASON_OTHER and the description string will contain "MemoryLimiter:AnonSwap". You can also leverage trigger-based profiling using TRIGGER_TYPE_ANOMALY to automatically capture heap dumps when the memory limit is reached. Furthermore, Android is actively working to surface more in-field memory metrics to developers within the Google Play Console.
We have also expanded our memory limits documentation to include local debugging commands, allowing you to simulate memory constraints in your local environment and validate your application's behavior under any memory limit enforcement.
Maximize bytecode optimization with R8
A highly effective way to reduce your app's memory footprint is to enable the R8 optimizer. By shrinking classes, methods, and fields into shorter names and stripping out unused code and resources, R8 significantly reduces your app's memory footprint by minimizing the amount of resident code required during execution.
R8 minimizes resident code, shrinking the memory footprint and lowering LMK termination risk. This results in more frequent warm starts over slow cold starts. Additionally, streamlined bytecode reduces main-thread CPU overhead, directly cutting ANR rates for a more fluid user experience. For example, the digital bank Monzo enabled full R8 optimization and saw a 35% reduction in their ANR rate, a 30% improvement in cold start rate, and a 9% reduction in overall app size.
To properly configure R8 in your build.gradle file:
- Set
isShrinkResources = trueandisMinifyEnabled = true. - Use
proguard-android-optimize.txtinstead of the legacyproguard-android.txt, which actually prevents optimizations and is no longer supported in Android Gradle Plugin 9. - Remove
android.enableR8.fullMode = falsefrom yourgradle.properties.
If you are using reflection in your code base, then add Keep rules to prevent R8 from optimizing those parts of the code. Make sure to scope the keep rules narrowly to get the maximum optimization.
To get the maximum optimization, make sure to follow these best practices in your keep rule file.
- Remove global options like
-dontoptimize,-dontshrink, and-dontobfuscatethat prevent R8 from optimizing the entire codebase - Remove keep rules that prevent optimizing Android components like Activity, Services, Views or Broadcast receivers.
- Refine the broad package wide keep rules to target only specific classes or methods.
To see more best practices, view our keep rules documentation.
Library Developer R8 Best Practices
If you are a library developer, strictly place the rules your consumers need into your consumer-rules file, and keep your library's internal protection rules in your proguard-rules.pro file. For more information on how to optimize libraries, see Optimization for library authors.
R8 Configuration Analyzer
To audit your R8 optimization, use the Configuration Analyzer. Configuration analyzer shows the current state of optimization with Obfuscation, Optimization, and Shrinking scores. With configuration analyzer, you can also understand how many classes, methods or fields are prevented from optimization by each keep rule. Refine these broad package wide keep rules to unlock the maximum optimization.
Using configuration analyzer, you can also identify keep rules that are subsuming other keep rules, redundant keep rules and unused keep rules.
R8 Agent Skill
You can also leverage the R8 Agent Skill with Android Studio agent or other AI tools to resolve misconfigurations and refine your rules resulting in improved app performance. (Insights from AI-driven skills will require technical verification)
Optimize image loading
Bitmaps are usually the largest common objects residing in your app's memory. They represent the final stage of the image loading process where compressed files, like JPEGs or PNGs, are decoded into raw pixel data for display. This means a tiny 100KB compressed image can balloon into several megabytes of RAM because memory consumption is determined by the image's pixel dimensions and color depth. Since bitmap operations are frequently on the critical path to drawing frames, unoptimized images cause severe memory bloat and UI jank.
Google recommends leveraging image loading libraries Coil for Kotlin-first projects, particularly when developing with Jetpack Compose and Glide for Java-based applications.
Adopt these five best practices
- Downsample images: If you're loading bitmaps manually, avoid loading a massive image into a tiny thumbnail view; use inSampleSize to load a smaller version. Glide and Coil downsamples images by default and you can configure this downsample strategy using DownsampleStrategy and ImageLoader respectively.
- Cropping: Avoid embedding padding directly into an image file for letterboxing purposes (e.g., creating a transparent border to expand an image dimensions). Rather than baking in these borders, utilize InsetDrawable or apply padding directly within the View or Composable containing the bitmap.
- Config: Balance memory and quality by choosing the right pixel format. Use
RGB_565when transparency isn't needed, which uses half the memory of the defaultARGB_8888format. In Glide you can configure this by using DecodeFormat and in Coil you can use bitmapConfig property. - Prioritize vector drawables: For basic geometric assets, leverage ShapeDrawable as a lightweight alternative to decoding rasterized bitmaps. By defining these assets once via XML, you ensure they scale seamlessly across all display densities while effectively eliminating resource-driven memory bloat.
- Reuse: If your application manages Bitmaps manually then to minimize memory churn, when a bitmap is no longer required, the app should call
bitmap.recycle()and immediately discard the Bitmap reference. If you use an image loading library like Glide or Coil, return the bitmap to the library's managed pool. By providing an existing buffer for future memory needs, the pool effectively avoids the overhead of new allocations.
Check out our documentation on Optimizing performance for images to learn more.
Android Studio tooling
You can also eliminate redundant bitmaps using Android Studio Narwhal 4. Here is how to hunt them down in five simple steps:
- Open the Profiler tab in Android Studio
- Click Heap Dump (or "Analyze Memory Usage") and hit record to take a snapshot of your app's current memory state.
- Scan the analysis results for the yellow warning triangle ⚠️, which Android Studio uses to flag duplicate bitmaps being stored multiple times. Alternatively, navigate to the profiler header, choose "Filter by:" and pick the "Duplicate Bitmaps" setting.
- Click on any flagged entry to open the Bitmap Preview pane, allowing you to see exactly which image is the repeat offender.
- Use that visual confirmation to track down the redundant loading logic in your code and implement a better caching strategy.
Detect and fix memory leaks with Android Studio
Memory leaks in Android occur when your code holds onto an object's reference long after its lifecycle has ended. This prevents the Garbage Collector (GC) from reclaiming that memory, eventually leading to sluggish performance or OutOfMemoryError (OOM).
Android Studio Panda 3 features a dedicated LeakCanary profiler task, allowing developers to analyze real-time memory leaks and map traces within the IDE.
The LeakCanary profiler task in Android Studio actively moves the memory leak analysis from your device to your development machine, resulting in a significant performance boost during the leak analysis phase as compared to on-device leak analysis.
Additionally, the leak analysis is now contextualized within the IDE and fully integrated with your source code, providing features like go to declaration and other helpful code connections that drastically reduce the friction and time required to investigate and fix memory leaks.
Examples of common memory leaks
Memory leaks occur when an object persists in memory beyond its intended lifespan. This typically happens due to:
- Retaining references to Fragments, Activities, or Views that are no longer in use.
- Mismanaging Context references.
- Failing to properly unregister observers, listeners, and receivers.
- Creating static references to objects that are bound to components with shorter lifecycles.
Here are a few example scenarios:
|
Scenario |
Compose-based example |
View-based example |
|
Leaking Context |
Example: Fix: |
Example: Fix: |
|
Leaking Listeners |
Example: Fix: |
Example: Fix: |
|
Leaking Views |
Example: Fix: |
Example: Fix: |
Trim memory when app leaves visible state
Android can reclaim memory from your app or stop your app entirely if necessary to free up memory for critical tasks, as explained in Overview of memory management. Android will usually reclaim memory from your app when it's not visible to the user, such as by discarding some of your app's code and data pages in memory or compressing your heap allocations. When the user resumes your app and your app tries to access some memory that's been reclaimed, the OS will swap that memory back in on demand. This swapping behavior can be slow, and cause unexpected jank or stutters in your app.
If you leave it to the OS to decide what memory to reclaim from your app, you may find that the OS reclaimed memory that you'll need shortly after resuming your app. Instead, your app can voluntarily discard memory allocations that it can regenerate later, on demand and at a low cost. To do so, you can implement the ComponentCallbacks2 interface. You can implement onTrimMemory in your Activity, Fragment, Service, or even your custom Application class. Using it in the Application class is highly effective for global cache management.
The provided onTrimMemory() callback method notifies your app of lifecycle or memory-related events that present a good opportunity for your app to voluntarily reduce its memory usage.
In terms of memory lifecycle management, your implementation should focus exclusively on TRIM_MEMORY_UI_HIDDEN and TRIM_MEMORY_BACKGROUND. Since Android 14, the system has ceased delivering notifications for other legacy constants, which were formally deprecated in Android 15.
TRIM_MEMORY_UI_HIDDEN: This signal indicates that your application's UI has transitioned out of the user's view. This provides an opportunity to release substantial memory allocations tied strictly to the interface-such as Bitmaps, video playback buffers, or complex animation resources.
TRIM_MEMORY_BACKGROUND: At this level, your process is residing in the background and is now a candidate for termination to satisfy the system's global memory needs. To extend the duration your process remains in the cached state, and reduce the number of app cold starts, you should aggressively release any resources that can be easily reconstructed once the user resumes their session.
import android.content.ComponentCallbacks2
// Other import statements.
class MainActivity : AppCompatActivity(), ComponentCallbacks2 {
/**
* Release memory when the UI becomes hidden or when system resources become low.
* @param level the memory-related event that is raised.
*/
override fun onTrimMemory(level: Int) {
if (level >= ComponentCallbacks2.TRIM_MEMORY_UI_HIDDEN) {
// Release memory related to UI elements, such as bitmap caches.
}
if (level >= ComponentCallbacks2.TRIM_MEMORY_BACKGROUND) {
// Release memory related to background processing, such as by
// closing a database connection.
}
}
}
Note: The onTrimMemory integration may depend on SDK support. For instance, certain games rely on their game engine to enable this capability. Please check out the game memory optimization documents.
Advanced memory observability with ProfilingManager
To catch and diagnose memory issues in the field that cannot be reproduced locally, you should leverage the ProfilingManager API. Introduced in Android 15, this advanced observability API allows you to programmatically collect real-user Perfetto profiles.
For teams that lack a dedicated infrastructure to manage and host performance artifacts, Crashlytics is exploring a specialized solution to streamline this workflow. They are inviting developers to provide feedback.
Android 17 introduces new event-driven triggers, most notably TRIGGER_TYPE_OOM and TRIGGER_TYPE_ANOMALY:
- The OOM trigger automatically collects a Java heap dump at the exact moment an OutOfMemoryError crash occurs, providing precise allocation states. A collected OOM profile is provided the next time the app starts and registers the
registerForAllProfilingResultscallback. - The Anomaly trigger detects severe performance issues, such as excessive binder spam or breached memory thresholds. The memory anomaly delivers a heap dump just prior to the system terminating the app.
val profilingManager =
applicationContext.getSystemService(ProfilingManager::class.java)
val triggers = ArrayList()
triggers.add(ProfilingTrigger.Builder(
ProfilingTrigger.TRIGGER_TYPE_ANOMALY))
val mainExecutor: Executor = Executors.newSingleThreadExecutor()
val resultCallback = Consumer { profilingResult ->
if (profilingResult.errorCode != ProfilingResult.ERROR_NONE) {
// upload profile result to server for further analysis
setupProfileUploadWorker(profilingResult.resultFilePath)
}
profilingManager.registerForAllProfilingResults(mainExecutor, resultCallback)
profilingManager.addProfilingTriggers(triggers)
Once you've collected the heap dump, you can download the profile from the server, or locally via adb pull and drag and drop the file into the Perfetto UI. To streamline your memory debugging workflow, use the Heap Dump Explorer, this is the new default view for heap dumps in Perfetto UI. This tool provides an intuitive interface for inspecting Java heap dumps, allowing you to visualize object allocation hierarchies, compute retained memory sizes, and identify the shortest path from garbage collection root. By leveraging the Heap Dump Explorer, you can rapidly pinpoint memory leaks, bloated retained objects such as excessive bitmap allocations, and analyze heap object allocations all in one place.
Conclusion
Optimizing bytecode with R8, adopting image loading best practices, and resolving memory leaks are critical steps toward delivering a high-quality user experience while managing resources effectively under pressure. Adopting these proactive measures helps maintain app stability and performance, preventing unexpected terminations while safeguarding user context. To further your performance expertise, explore our revised memory guidance.
02 Jun 2026 7:00pm GMT
Building Premium Android Experiences at Google I/O ‘26

To help you build apps that stand out, we're diving into the key tools and libraries designed to optimize your core performance, extend the surfaces of your app to other devices, and streamline how your app handles high-quality media.
Here is a recap of the essential updates and sessions you need to know to deliver a next-level experience across form factors!
Maximize app performance and ROI with the R8 Configuration Analyzer
A premium experience is only as good as its foundation, and a performant foundation is what allows your app to scale across the Android ecosystem. This is especially true with the release of Android 17, which introduces conservative, device RAM-based app memory limits to target extreme memory leaks and outliers before they cause system-wide instability. To stay below these new system thresholds and prevent your app from being terminated, having a lean footprint is no longer optional: it's a critical requirement.
This year, we're making it easier to build highly optimized, fast apps by introducing the R8 Configuration Analyzer in Android Studio. R8 is your most powerful tool for improving app performance, but its effectiveness is often limited by overly broad "keep rules" that prevent the compiler from stripping away unused code. The new Configuration Analyzer provides optimization, obfuscation, and shrinking scores, allowing you to identify specific rules that are preventing the benefits of R8 optimization.
By optimizing their R8 configurations, developers at Monzo achieved a 30% improvement in cold starts and a 35% reduction in ANRs. Smaller, faster code isn't just about efficiency; it's about ensuring your app has the memory headroom to deliver delight on every form factor, from the phone to the car.
Extend your reach with a unified approach to Widgets on Phones, Watches and Cars
User interaction is shifting toward quick, glanceable moments-short bursts of information that keep users connected without needing to open the full app. To help you increase the reach of your app content, we are unifying the development experience across the Android ecosystem with Jetpack Glance. By using a consistent, Compose-based model, you can elevate the content most important to your users straight to the phone's home screen, Wear Widgets (previously Tiles!), and cars with a familiar workflow.
In order to help users engage with your content and features, even outside your app, we are making widgets more expressive and adaptive with RemoteCompose. On Wear OS, RemoteCompose allows you to use the Compose tools you're already comfortable with to define UI logic that renders natively on remote surfaces, ensuring that your glanceable experiences remain highly performant and responsive even on resource-constrained hardware. On mobile and cars, RemoteCompose is used as a new framework giving Widgets new expressive capabilities.
You can use Jetpack Glance (together with RemoteCompose on Wear) to deliver a cohesive user journey. Whether it's viewing flight status on the car dashboard, checking a gate change on a watch, or managing a boarding pass from a phone widget, this shared approach maximizes your app's presence while keeping your development effort focused and efficient.
Supercharge your media pipeline with a complete, production-ready toolkit
It starts with high-fidelity capture using the CameraXViewfinder Composable, which ensures your preview remains perfectly scaled and responsive on any form factor, including foldables and tablets. Use this to build adaptive capture experiences like a picture-in-picture view for multi-tasking, or that take advantage of modern features like high-frame-rate or slow-motion capture with CameraX v1.5.
The new Media3 AI Effects library will provide a unified interface for premium features like Image & Video Enhance, Magic Eraser, and Studio Sound. This allows you to focus on the creative intent while Media3 handles the heavy lifting of choosing the most efficient and reliable path for the device. Then, use the latest improvements in multi-asset editing with Media3 Transformer to composite your edited videos together!
Complete the pipeline with tools designed for professional-grade export and viewing, including:
- CodecDB, which offers data-driven encoding recommendations tailored to specific chipsets, ensuring your exported videos maintain high visual quality with minimal noise or blurriness
- Scrubbing Mode in ExoPlayer to provide the buttery-smooth seeking experience users expect from premium media apps
- Enhanced Cast support with the new CastPlayer API in Media3
By unifying these technical pillars, you can build a cohesive, high-performance media journey that delivers both delight for your users and high ROI for your development team.
For more details, check out the premium Android experience YouTube playlist.
02 Jun 2026 5:00pm GMT
TalkAndroid
Nicolas Cage stuns as a gritty, noir Spider-Man—could this be the boldest take on the character yet?
Step into a hard-boiled New York during the Great Depression: shadowy alleys, smoky cabarets, and all the danger…
02 Jun 2026 3:30pm GMT
Stephen King calls this Netflix sci-fi hit a “pure delight”—critics and fans agree
What happens when the undisputed master of horror publicly praises a new sci-fi mini-series on Netflix? You end…
02 Jun 2026 3:00pm GMT
Your Future Galaxy Phone Might Have Liquid Cooling Inside
Samsung is reportedly researching an active liquid cooling system for future Galaxy smartphones.
02 Jun 2026 1:03pm GMT
This Startup Will Clean Your Home for Free In Exchange For Your Data
Shift will do home cleaning for free if you let cleaners record your home for AI training.
02 Jun 2026 10:55am GMT
Honor Win Turbo Launches With a 10,000mAh Battery
Honor has launched the Win Turbo in China as the third phone in its Win series, starting at a discounted launch price of $339.
02 Jun 2026 9:21am GMT
Why Everyone’s Talking About the Unexpected Season 2 of ‘Les quatre saisons’ With Tina Fey and Will Forte
If you're a fan of sharp group comedies or just love a series that blends humor with heart,…
02 Jun 2026 6:30am GMT
Inside the Most Controversial Michael Jackson Trial: New Docuseries Reveals Untold Stories
He's the King of Pop, but for decades, Michael Jackson has also been the center of global controversy.…
02 Jun 2026 6:00am GMT
Boba Story Lid Recipes – 2026
Look no further for all the latest Boba Story Lid Recipes. They are all right here!
02 Jun 2026 4:29am GMT
Dice Dreams Free Rolls – Updated Daily
Get the latest Dice Dreams free rolls links, updated daily! Complete with a guide on how to redeem the links.
02 Jun 2026 4:29am GMT
POCO X8 Pro Yellow Variant Brings Racing Aesthetics and Dynamic RGB to a $369 Phone
POCO's X8 Pro gets a refresh
02 Jun 2026 1:55am GMT
AT&T’s New $15 Plan Lets You Build Your Own Phone Bill
You can customize your wireless plan month to month starting at $15, rather than paying for bundled features you don't need.
02 Jun 2026 1:42am GMT
01 Jun 2026
TalkAndroid
Google Health app overhaul: The biggest Fitbit update you can’t ignore
Everything you thought you knew about Fitbit has changed: Google has delivered a complete transformation of the app…
01 Jun 2026 3:30pm GMT
Why Is Everyone Talking About Human Vapor? The Sci-Fi Series Set to Shake Up Summer 2026
Netflix has become known for shaking up its subscribers with original series from around the world-and the summer…
01 Jun 2026 3:00pm GMT
Experts say: Why growing up in the ’60s and ’70s built unique mental strength lost in today’s tech era
Let's be honest: growing up today is a far cry from what it was in the 1960s and…
01 Jun 2026 6:30am GMT
Assassin’s Creed Black Flag Resynced: The Remake Fans Have Been Waiting For Finally Revealed
Just when fans thought the sea had calmed after last year's release of Assassin's Creed Shadows, Ubisoft has…
01 Jun 2026 6:00am GMT
31 May 2026
TalkAndroid
Will Smith admits turning down Inception: “It still hurts”
Will Smith is one of Hollywood's biggest stars of the past three decades. His filmography is filled with…
31 May 2026 3:30pm GMT
26 May 2026
Android Developers Blog
Top AI on Android updates for building intelligent experiences from Google I/O ‘26
Posted by Jingyu Shi, Staff Developer Relations Engineer
1. Putting your apps at the center of the intelligence system
- Android MCP: AppFunctions allows your application to act as an on-device Model Context Protocol (MCP) server. It means you seamlessly share your app's tools, services and data to the system and agents.
- Streamlined Development: You can leverage the new skill to easily generate AppFunctions within your codebase.
- Exploration and Testing: We've released a new test agent that allows you to experiment and debug your AppFunctions in a simulated agent environment.
|
Early Access Program: Want to be among the first apps to deploy app functions in production? Join our early access program today!
|
2. On-Device Power with Gemini Nano 4 Preview
- Prototype to Production: Transition from prototyping in the AICore Developer Preview to building production-ready apps using the ML Kit GenAI Prompt API to leverage Gemini Nano 4 that's launching in flagship devices later this year.
- Structured Output: The upcoming Structured Output API will allow you to define object classes to be returned as outputs from Prompt API, ensuring reliable outputs in productionizing your intelligent features.
- Prefix Caching: It optimizes your on-device inference performance with the prompt API. The new Prefix caching reduces inference time by storing and reusing the intermediate LLM state of processing a shared and recurring part of the prompt.
- Firebase AI Logic Hybrid Inference: This new API provides the simple routing capability between on-device models and powerful cloud infrastructure. You can set explicit orchestration modes, such as
PREFER_ON_DEVICE,PREFER_CLOUD,ONLY_ON_DEVICE, orONLY_CLOUD, based on your need.
- A2UI Jetpack Compose Renderer: The new A2UI library allows your agents to "speak UI". With the upcoming Jetpack Compose Renderer, you can automatically render these A2UI messages as native UI components.
- ADK for Android: The first version of ADK for Android is available for experimentation. It allows you to build multi-agent workflows across both on-device and Cloud models while managing orchestration, context handling and sessions between agents.
Start Building Today
26 May 2026 5:30pm GMT
19 May 2026
Android Developers Blog
17 Things to know for Android developers at Google I/O

Build High Quality Android Apps Using Agents
1: Android CLI: helping you build with any agent, LLM, and tool
Android CLI is now stable. It offers programmatic tools that allow any AI agent, including Claude Code, Codex, or Antigravity, to perform core Android tasks much more easily and efficiently. With today's release, it also provides a bridge to tap directly into the "heavy-lifting" power of Android Studio to give you the production-ready polish needed for professional Android development. By leveraging the new android studio commands, developers can now grant their preferred agents the ability to perform semantic symbol resolution, analyze files for warnings, and even render Jetpack Compose previews. This release also enables official support for "Journeys" through new Android skills, which enables agents to execute end-to-end UI tests under your direction. Watch the developer keynote, and tune into the What's New in Android tools talk for more information..png)
2: Build production-ready apps with ease in Google AI Studio
Developers and creators can now build native Android apps, simply with a prompt in Google AI Studio. The apps are built with development best practices like Jetpack Compose, Kotlin, and APIs that leverage our recommended developer patterns. Google AI Studio enables developers to prototype, iterate via an embedded emulator, and deploy to physical devices without heavy local installations. Developers are then able to take those apps and share them to Android devices, as well as share them with others for testing through Google Play Console's internal testing track. If a developer wants to prepare their app for a wider release, they're able to take it to Android Studio for advanced debugging, testing, and UI polish. Watch the developer keynote, and tune into the What's New in Android tools talk for more information.
3: Accelerating AI coding assistance with Android Bench
Android Bench is our LLM leaderboard for Android development challenges. The goal is to accelerate model improvements, so you have more useful options for AI assistance. Many of you have been using open-weight models for AI assistance, so we're now adding commonly used ones, such as Gemma 4, to the leaderboard, so you can see how LLMs that offer offline access and additional flexibility for power-users measure up. We're continuously working on increasing the difficulty of challenges we're giving LLMs, to continue encouraging more useful improvements.4: Convert iOS apps to Android with the Migration Assistant in Android Studio
The Migration Assistant in Android Studio is designed to port apps from platforms like iOS, React Native, or web frameworks to native Android. By simply selecting an existing project, developers can have the agent intelligently map features, convert assets like storyboards and SVGs, and implement Android best practices using Jetpack Compose and our recommended Jetpack libraries. This effectively transforms what used to be weeks of manual porting into a streamlined agentic workflow that only takes hours. We shared a preview of the incoming feature in the developer keynote..gif)
Building AI Into Your Apps
5: Building Intelligent Apps with generative AI
Generative AI enables you to create apps that are more intelligent, personalized, and agentic than ever before. This year, we introduced the latest advancements in on-device intelligence with a preview of Gemini Nano 4 for tasks like data extraction and summarization. We also expanded cloud capabilities via Firebase AI Logic, allowing developers to leverage Gemini models with robust grounding (including URL, Maps, and web search) to build smarter, more capable assistants. Furthermore, we unveiled our hybrid inference approach and the new Agent Development Kit (ADK) for Android, alongside communication protocols like AG-UI and A2UI that simplify the creation of autonomous, agentic experiences. To start integrating these powerful features, explore the developer documentation, and watch the technical deep dive session where we showcase all these technologies.6: Experiment with AppFunctions today
AppFunctions is an Android platform API with an accompanying Jetpack library to simplify building Android MCP integrations. It empowers your apps to behave like on device MCP servers, contributing functions that act as tools for use by agents and assistants. AppFunctions integration with Gemini is currently in a private preview with trusted testers, and you can begin preparing your apps already. You can sign up for the Early Access Program and start experimenting using the API guidance, sample, and skill today.The Future is Adaptive
7: Android is now Compose First; Views are now in maintenance mode.
Compose is our standard for UI development, and we are moving to a Compose-first approach for all future guidance and libraries. Building on five years of evolution, the latest releases deliver a more mature toolkit, from the highly customizable Styles API to refined shared element transitions and enhanced input support. These updates allow you to build beautiful, adaptive apps with less code and better performance. Learn more about what Compose-first means for Android Development in our blog post.
8: Building seamless Android experiences across devices with Jetpack Compose
9: Create seamless experiences for Googlebook
Last week we announced Googlebook, a high-performance laptop that provides a large-screen canvas for your existing apps. Building with adaptive principles today helps ensure your app will work on Googlebook. Get started by reviewing relevant design guidance and developer guidelines for desktop experiences. Try out the new Desktop Emulator available in the Android Studio Canary to to test your apps for this form factor today.
10: Unified widget development experience with Jetpack Glance
Android 17 marks a shift toward a single, Compose-based development model for all widgets. By unifying the experience across mobile, Wear OS, and cars through Jetpack Glance, you can soon scale UI components across the ecosystem with a familiar workflow.The breakthrough this year is the integration of RemoteCompose. On mobile and cars, it powers high-fidelity animations, while on Wear OS, it allows Wear Widgets (formerly Tiles) to render complex UI logic natively on remote surfaces. This ensures peak performance on low-power hardware while allowing a cohesive user journey-like checking a flight status on your car dashboard and seeing gate change updates on your wrist.

To help you expand your reach when you build in-car experiences, we're making it easier to build once and deliver your apps to Android Auto and Android Automotive OS. With the latest releases of the Car App Library, you can build customized, distraction-optimized templated media apps for both platforms. We're introducing new components and template capabilities to give you increased flexibility and more options for laying out content. Parked experiences are expanding too, with immersive video playback coming to Android Auto for phones running Android 17. You can easily adapt your video apps for these parked experiences; apply now to the early access program to publish in these beta categories and learn more about the latest updates in our blog.
12: Accelerate your development with Android XR Developer Preview 4
Inspired by the innovative experiences you've built for the platform, we're continuing to mature our tools with Developer Preview 4 of the Android XR SDK. A key milestone in this journey is the transition of our core libraries, XR Runtime, Jetpack SceneCore, and ARCore for Jetpack XR, moving to Beta soon to provide a more stable and performant foundation. We are also accelerating hardware access through the Android XR Developer Catalyst Program, where you can apply for XREAL's Project Aura, audio glasses, or display glasses developer kits. Watch The latest in Android XR session or read our blog to see how these updates help you build experiences across the ecosystem..gif)
13: Android is your new home for professional-grade media experiences
Android 17 streamlines the entire media lifecycle with a production-ready toolkit. High-fidelity capture is now simplified with the CameraXViewfinder Composable, which handles complex scaling and responsiveness on foldables and tablets. For post-production, the new Media3 AI Effects library provides a single interface for premium features like Magic Eraser and Studio Sound, automatically optimizing for the device's hardware.The pipeline is completed by CodecDB, offering chipset-specific encoding recommendations to eliminate export noise, and a new Scrubbing Mode in ExoPlayer for ultra-smooth seeking. Whether you're compositing multi-asset edits with Media3 Transformer or using the streamlined CastPlayer API, these updates ensure a professional-grade experience with significantly less development overhead.
.gif)
14: Increase app discovery and engagement on Google TV
Pointer remotes, which enable motion-controlled input, will be a future way for users to interact with Google TV as it unlocks faster user navigation. App developers can start declaring support for pointing input to ensure their apps are discoverable on future TVs with pointer remotes. Additionally, the Engage SDK, formerly known as the Video Discovery API, optimizes Resumption, Entitlements, and Recommendations across all Google TV form factors to boost app discovery and engagement. It's a great time to start onboarding the Engage SDK now, since the legacy Watch Next API, which has been powering your continue watching 1.0 experience, will lose support in the 2nd half of 2027. Get all the details in our blog.15: Performance: the foundation of a great app experience
To help developers navigate memory limits in Android 17, we've launched a suite of optimization tools. The R8 Configuration Analyzer identifies keep rules that are bloating your binary, while ProfilingManager and the integrated LeakCanary in Android Studio streamline memory leak detection. Furthermore, the new Android Performance Analyzer offers advanced AI integration for complex trace analysis and automated SQL query generation to pinpoint performance bottlenecks.And The Latest on Driving Business Growth
16: What's new in Google Play
Today's updates from Google Play help expand your reach and scale your business with less complexity. We're redefining Play Store discovery with an immersive, short-form video format called Play Shorts, while expanding your audience beyond the store with app discovery in the Gemini app on Android and web. Plus, we're introducing powerful new capabilities like agentic catalog management for seamless bulk price and SKU updates, and using Gemini models to enable Play Console to pre-populate store listings from imported documents-making global localization effortless.
17: And of course, Android 17
Android 17 includes new performance & system architecture improvements (in addition to app memory limits) like a lock-free MessageQueue and a GC with more frequent, less intensive young-generation collections to ensure system-wide stability and smoother UIs. The new contact picker and eyedropper API help minimize the use of sensitive permissions and unnecessary access to user data.Review the behavior changes to make sure your app is ready for Android 17, including background audio hardening and SMS OTP protection. Get ready to target Android 17 (API 37) with changes such as mandatory large-screen resizability, certificate transparency by default, and restricted local network access. You can start testing today by enrolling your device in the Beta or using the latest 17.0 emulator images.
One more thing. the third beta of our Android 17 quarterly platform release (QPR1) just came out, and it contains a minor SDK release to support a few features that just couldn't wait for QPR2.
Check out all of the Android & Play Content at Google I/O
This was just a preview of some of the updates for Android developers at Google I/O. Tune into What's New in Android for the latest news and announcements and follow Google I/O for much more over the following week!
19 May 2026 1:00pm GMT
Build native Android apps in Google AI Studio

The power of native Android
While AI has made it easy to generate web-based apps, people want more on their mobile devices. They expect the beautiful and usable modern app design and capabilities that come with native Android user experiences, built with the Kotlin programming language using Jetpack Compose, the official and recommended toolkit for Android development. Native Android apps bring the reliability of offline support, continuous background services, and the deep integration of hardware sensors like GPS, Bluetooth, and NFC. We've brought the technology that enables you to quickly create new projects with Gemini in Android Studio directly into the web-based AI Studio. Now, you get the best of both worlds: the ease of a prompt-based interface paired with the power of the Android SDK, all in your browser, no installation required.A seamless, end-to-end workflow
We have streamlined the entire development lifecycle so you can focus on your idea:



Start building today
- Personal utilities and simple social apps: You can rapidly prototype single or multi-screen apps, such as habit trackers, study quizzes, or event itineraries.
- Hardware-enabled experiences: Because you are building native apps, you can leverage device features like the Camera, GPS/Location, Accelerometer and Bluetooth using the native Android APIs, letting you optimize hardware-level performance.
- AI-powered experiences: You can create apps that feature Gemini API integrations, seamlessly embedding powerful AI capabilities directly into your mobile experience.
What's Next?
- Managing Google Play Test Tracks: Coming soon, we will be adding the ability to invite testers to try your app directly from AI Studio.
- Firebase integrations: Out-of-the-box support for Firestore, Firebase Auth, Firebase App Check and other tooling critical for Android developers is coming soon.
| Turn your Google Pixel Watch into an aviation assistant | |
| Prompt: Build a small airplane "6-pack" instrument app for Google Pixel Watch. The 6 instruments should include attitude indicator, airspeed indicator, altimeter, turn coordinator, vertical speed indicator, and heading indicator. Use the Google Pixel Watch's sensors to power the instruments and display them clearly. Display one instrument at a time on the display. Swiping to the left or right should cycle through the instruments.
|
![]() |
| Interactive Harmonium app on Google Pixel Fold | |
| Prompt: Build a Harmonium app for Pixel Fold devices, which plays like the instrument based on the hinge angle and touch gestures. The app should simulate the bellows and reeds accurately.
|
![]() |
| An Android app for guitarists to become better musicians by jamming to backing tracks | |
| Prompt: Build an Android guitar practice companion app that features a two-tab navigation system: 'Fretboard' and 'Library'.
The 'Fretboard' primary screen must contain an interactive guitar neck UI that visually maps out user-selected root notes, musical scales, and chords. Above the fretboard, implement a WebView-based YouTube player configured to play embedded videos inline. Additionally, include an AI generation feature that uses Retrofit to call Gemini Lyria 3 to create custom, 30-second backing tracks based on the user's currently selected key and scale. The generated audio files and their metadata must be saved locally using a database and displayed as a list in the 'Library' tab, where users can delete or play them.
Finally, implement a persistent, globally visible mini audio player at the bottom of the screen, complete with play/pause toggles, a progress slider for seeking, and timestamp text, allowing the user to seamlessly practice on the fretboard tab while listening to their tracks.
|
![]() |
19 May 2026 12:45pm GMT
Increasing app discovery and engagement on Google TV

With over 300 million monthly active devices across Google TV and Android TV, it's clear that the living room is a massive, distinct platform for apps to accelerate growth. Today, we're excited to share Google TV features and developer tools designed to increase the discoverability of your content and prepare your app for future TV experiences.
Drive discovery and engagement with Gemini
Last year, we brought our AI voice assistant, Gemini, to our platform, so that people can easily find what to watch, learn something new on the big screen, and get everyday tasks done with just their voice.
Since launch, we've made improvements to how Gemini provides tailored responses to questions. Gemini shares a mix of visuals, videos, and text to help users find what they need, when they need it. For our streaming partners, Gemini is a helpful discovery engine-pulling from your app's metadata to surface your relevant content to viewers.

Declare support for pointing modality
The TV experience that we once knew is changing. Gemini is changing the way we discover and stream content with voice, but how we use the remote is evolving, too.

Pointer remotes bring motion-controlled input to the big screen, unlocking faster user navigation across the Google TV Home page and within content-heavy apps. To ensure your app is ready for this shift and provides a great experience for all users, now is the time to start thinking about pointing input. Here's how to get started:
1. Adapt your TV app UI Library
You'll need support for hover states, scrollable containers, and cursor clicks to enable pointer remote interactions for your app on Google TV. While implementation varies by UI stack, Jetpack Compose streamlines this transition, as most core components handle these multi-modal interactions natively out of the box.
- Hover state: Every focusable element on your screen (buttons, movie posters, setting toggles) needs a clear visual feedback mechanism for a hover state. This is often subtler than a focus state but critical for feedback.
- Scrollable containers: Pointer remotes will also have a small circular touchpad for scrolling. Users can use this touchpad to scroll up or down, or left or right in your app. Your app will need to respond to touch events to scroll.
- Cursor clicks: Many TV apps today expect a simple D-pad OKAY button "click." With a pointer remote, a user may "click" on an element that's not the D-pad focus state, but is instead from a hovered state (similar to a mouse click).
2. Test pointing interactions with a mouse today
To see how your app handles hover, scroll, and clicks, simply connect a bluetooth mouse or wired mouse to your Google TV. Keep in mind that a mouse has more precise control, since users are closer to the screen and typically rest the mouse in a stable position. Pointer remotes can often be less precise, since users are sometimes 10 feet away from the screen, making rough gestures with the remote from their couch. As a TV designer or developer, you can mitigate this lack of input precision by having larger hover targets for elements.
3. Declare TV app support for pointer remotes on Google Play
Finally, tell Google Play that your TV app is designed to work with a pointer. This ensures that users with pointer remotes will be able to easily find, install, and interact with your app.
Within your AndroidManifest.xml, declare the meta-data tag, android.software.leanback.supports_touch. This tag informs the platform that your TV app "spatially supports touch," since pointer remotes simulate touch events from a distance.
AndroidManifest.xml
<manifest ...>
<!-- Signal whether the app is adaptive or built just for TV -->
<uses-feature android:name="android.software.leanback" android:required="true|false" />
<!-- Ensure the app can be installed on conventional TVs -->
<uses-feature android:name="android.hardware.touchscreen" android:required="false" />
<!-- Signal whether the app supports pointer remotes -->
<meta-data android:name="android.software.leanback.supports_touch" android:value="true|false"/>
<application ...>
...
</application>
</manifest>
Tips:
- The android.software.leanback feature declaration indicates that your app supports D-pad navigation and is intended for distribution only on TV devices via Google Play.
- The new software attribute of android.software.leanback.supports_touch declares that in addition to D-pad, you have ensured that your TV app works well for pointer/cursor experiences via mouse (of today) and pointer remotes (of future).
- If you haven't already, now is the time to adopt Jetpack Compose. Hover, scroll, and clicks are common input modalities that are supported on various form factors, and building your app with an adaptive UI framework enables code reusability and reduced maintenance.
Onboard the Engage SDK
The Engage SDK, formerly known as the Video Discovery API, optimizes Resumption, Entitlements, and Recommendations across all Google TV form factors to boost app discovery and engagement.
- Resumption: Partners can easily display a user's paused video within the 'Continue Watching' row from the Home page.
- Entitlements: The Engage SDK streamlines entitlement management, which matches app content to user eligibility. Users appreciate this because they can enjoy personalized recommendations without needing to manually update all their subscription details. This allows partners to connect with users across multiple discovery points on Google TV.
- Recommendations: The Engage SDK even highlights personalized recommendations based on content that users watched inside apps.
It's a great time to start onboarding the Engage SDK now, since the legacy Watch Next API, which has been powering your continue watching 1.0 experience, will lose support in the 2nd half of 2027. To get started, head to goo.gle/engage-tv to learn more.
We're excited to see how our latest Gemini experience and developer tools will optimize your discovery and drive user engagement on our platform.
Explore this announcement and all Google I/O 2026 updates on io.google.19 May 2026 12:00pm GMT
Android CLI Now Stable 1.0: Accelerate developing for Android using any agent
.png)
At Google I/O '26, we shared the latest leaps forward in agentic development, and showcased some of the newest capabilities of Android CLI-now stable at version 1.0 and ready for all Android developers to use. From new skills to enabling agent access to powerful Android Studio capabilities, we're giving your agents the right tools to build alongside you.
android update. Otherwise, read further to learn more about how we're making the agents you choose be better at building for Android.Android development unlocked for Antigravity
Google Antigravity now includes an optional bundle of Android resources-including the Android CLI and skills-that you can install. You can either install the bundle during onboarding after installation, or later from the Settings > Customizations > Build With Google Plugins menu.
This provides Antigravity with all the powerful tools and knowledge of Android CLI, enabling it to perform the core tasks necessary for Android app development more easily and efficiently-from creating projects to deploying your app on a new Android virtual device.
.png)
Unlocking Android Studio capabilities for any agent
Android CLI provides a lightweight interface for AI Agents to perform tasks and retrieve knowledge about Android development. However, there's benefits to specialization - Android Studio contains over a decade of Android expertise, built to handle even the most complex Android projects. This includes Android Studio's powerful static analysis engine, refactoring tools, dependency management, UI design and rendering libraries, and more. AI Agents can now tap into Android Studio's tools to gain many of these same capabilities.
.png)
The latest version of Android CLI introduces the new android studio command. This enables the agent of your choice to leverage the deep, contextual capabilities of Android Studio to better understand and perform actions on an open Android project. By running Android Studio alongside your preferred agent with Android CLI, your agent's tasks can more efficiently navigate the codebase to produce more precise code changes. And, when you use Android CLI to create and iterate on your project, transitioning to Android Studio is much easier, so that you can use the purpose built tools-such as, performance profilers, Compose Previews, and Android Device Streaming-to get that production-grade polish.
When you have a project open in the latest preview version of Android Studio Quail, you (or your agent) can run the following command to check whether Android CLI has a connection established with your open project:
$ android studio check
pid: 32942
version: Android Studio
Projects:
READY JetSet /Users/adarshf/AndroidStudioProjects/jetset-main
From there, the agents can use the android studio command to access powerful IDE tools to interact with projects more efficiently. Key commands include:
- analyze-file: Analyzes a file for errors and warnings using the editor's built-in inspections.
- find-declaration: Finds the exact definition site of a symbol (class, method, variable, field, constant, or Android resource/color) across the project using semantic resolution.
- find-usages: Finds all references and declarations of a symbol (class, method, variable, or Android resource) across the entire project using semantic analysis.
- render-compose-preview: Renders a Jetpack Compose UI Preview and returns a path to the image and UI hierarchy if successful.
- version-lookup: Get the latest information about which versions for specified app dependencies are available in common repositories, such as the Google Maven repository. By providing a programmatic solution, dependency management is less tedious and much less prone to flakiness.
- open-file: Opens a file directly in Android Studio. This is useful if the agent wants to direct your attention to view Compose Previews, performance traces, or other specific files in the IDE.
For example, agents can now run the following commands to render a Compose preview for a new layout for your Android app, and then open the previews in Android Studio for you to take advantage of seeing multiple Compose Previews side by side and make AI-assisted edits right from the IDE.
$ android studio find-declaration HotelDetailScreen
$ android studio analyze-file .../JetPacker/feature/detail/src/main/java/com/example/jetset/feature/detail/HotelDetailScreen.kt
$ android studio open-file feature/detail/src/main/java/com/example/jetset/feature/detail/HotelDetailScreen.kt
To learn more about how to use these commands, run android help. And, to make sure your agents understand how to work with this tool, make sure to update the Android CLI skill by running android init.
More ways to get started
To make integrating Android CLI into your environments as seamless as possible, we're making it available in more ways. You can now download and install Android CLI using more package managers: apt-get, winget, and homebrew. For example, you can run the following to install Android CLI using winget:
winget install -e --id Google.AndroidCLI
We've also updated the installation to a user-local directory, by default. You can find the commands for all supported operating systems plus additional download options on the Android CLI page.
Support for Journeys


(sped up) An agent running a Journey it generated for an app.
Agents can run these journeys using the Android CLI to navigate your app exactly like a user would. This unlocks entirely new ways to test, validate, or collect data across the critical experiences of your app, all driven by natural language and executed by your agent.Expanding Android skills
To help models better understand and execute specific patterns that follow our best practices, we are continuing to expand our library of Android skills. We're shipping new skills that make Android development everywhere more capable, efficient, and productive:
- Display Glasses and Jetpack Compose Glimmer for XR: Provides guidelines for developing projected applications for Android Display Glasses using the Jetpack Compose Glimmer UI toolkit.
- Migration to CameraX: Helps you migrate legacy Android camera implementations (Camera1 or raw Camera2 APIs) to CameraX.
- Perfetto SQL: Translates natural language data prompts into Perfetto SQL queries and executes them against a local trace file.
- Adaptive UI: Instructions to make or update an app's UI so that it adapts to different Android devices
- Testing setup: Creates a basic testing strategy.
- Styles: Helps with adoption of the new Jetpack Compose Style API for new components, and supports migration to Styles API.
- AppFunctions: Analyzes Android codebases to recommend and implement new AppFunctions, and refines KDoc documentation for Model Context Protocol optimization.
You can add these new skills to your workflow directly from the command line. To help your agents understand and use Android CLI right away, you can initialize your environment and install the base android-cli skill by running:
android init
From there, you can browse and set up your agent workflow by searching for the exact capabilities your agent needs:
android skills list
Once you've found the right skill, install it to your environment by running:
android skills add -skill=<skill-name>
Get started today
To download the stable 1.0 release of the Android CLI, explore the new tools, and browse the complete documentation, head over to d.android.com/tools/agents today! Also, make sure you update to the latest preview version of Android Studio to unlock the latest features that Android CLI offers. We can't wait to see what you build with Android CLI 1.0 and how these new features supercharge your daily workflows. Join our vibrant community on LinkedIn, Medium, YouTube, or X and share your feedback.
Explore this announcement and all Google I/O 2026 updates on io.google.
19 May 2026 11:45am GMT
Build for the future with the Android XR Developer Catalyst Program — Apply now!

The Android XR ecosystem is expanding, and we're committed to supporting developers who will build its next great experiences. Today, we're opening applications for the Android XR Developer Catalyst Program, a dedicated initiative to accelerate the development of Android XR apps ready to launch within the next year.
This program is designed to provide the resources, hardware, and grants to help you build and scale innovative experiences across wired XR glasses, like XREAL's Project Aura, and intelligent eyewear (audio and display glasses). We are especially interested in seeing innovative experiences across media, gaming, productivity, and health, but we welcome any unique use case that helps users expand what's possible.
Why join the catalyst program?
We want to help developers navigate common barriers to entry for XR development by providing:
-
Development Kits: Get early access to hardware development kits for wired XR glasses (XREAL's Project Aura) and / or intelligent eyewear (audio and display glasses).
-
Technical support: Gain access to specialized technical resources and support forums specifically designed to help you prepare your app for Google Play.
-
Grant Opportunities: Submit a request and you may be eligible to receive a non-recoupable grant to accelerate your development.
Ready to start building?
Applications are open to developers looking to publish apps for the Android XR ecosystem in the next 6-12 months. You can build with Kotlin and the Jetpack XR SDK, or with Unity, Unreal Engine or Godot. If you need a spark of inspiration, you can check out existing XR Experiments and Samples to see how you can use the SDK for everything from spatial music to navigation.
Once you have your concept ready, be sure to submit your application by June 30th by 11:59PM PDT. We can't wait to see what you build.
Explore this announcement and all Google I/O 2026 updates on io.google.
19 May 2026 11:15am GMT
Adaptive development for the expanding Android ecosystem
.png)
Now, with over 580 million large screen devices in the hands of users, adaptive is no longer just a technical goal. It's a massive opportunity to reach highly engaged users. To thrive in this multi-device ecosystem, your app must be resilient, responsive, and ready for virtually any surface.
The multi-device opportunity
The Android device universe is now a multi device reality. Users are buying into entire ecosystems, moving from handhelds to foldables, tablets, and cars. And the data is clear: users with multiple devices often spend more than users with only a phone.
-
Drive higher revenue: Multi-device users spend 9x more on average than phone only users. On foldables, that engagement multiplier can reach 14x. (Source: Google Internal Data, 2026)
-
Capture high-value segments: Large-screen users (tablets, foldables, and Chromebooks) typically spend roughly 5x more than phone-only users.
To help amplify your reach with these users, we've rolled out a new badge in Google Play. Apps meeting adaptive quality standards now earn an "Optimized for large screens" badge, making it easier for users to discover high quality experiences.
Latest in adaptive Android development from Google I/O
Android 17, new Jetpack updates and advanced tools help you build apps that feel native across diverse surfaces, from pocket-sized foldables to Googlebooks.
Adaptive by default: Android 17 updatesIn Android 16, we introduced significant changes to orientation and resizability APIs to facilitate adaptive behavior, while providing a temporary opt-out to help you make the transition. Android 17 (API level 37) sets a new quality baseline by removing that developer opt-out for orientation and resizability restrictions on large screen devices (sw > 600 dp). When you target API level 37, your app must be capable of adapting to a variety of display sizes. This helps your app deliver an experience that matches the users' expectations.
Tip: You can start testing these behaviors by enabling the UNIVERSAL_RESIZABLE_BY_DEFAULT flag in App Compatibility Changes under Developer Options under SDK 36.
Your app on even more surfacesIn addition to your mobile app running on large screens devices including foldables, tablets, Chromebooks and XR, we are also expanding the Android surface area for your mobile apps:
-
Connected Displays: Now in stable as of Android 16 QPR3, Connected Displays support enables supported Pixel and Samsung mobile devices to transform into a desktop environment via external display support.
-
Automotive & TV: With the Car Ready Mobile Apps program and enhanced pointer support for Android TV, your adaptive app can now benefit from engagement on the infotainment system and the living room with ease.
Talking about more surfaces, we're evolving our work in the desktop space with Googlebook, the next generation of ChromeOS. Built with parts of the Android stack, we are enabling your apps to achieve a "laptop-class" feel with native level performance.
Building with adaptive principles today helps ensure your app is ready for this new generation of high performance hardware.
To help you prepare for this new generation of devices, we've released comprehensive new documentation including comprehensive design guidance and developer guidelines. Built on the principles of adaptive, these guidelines offer a playbook for transitioning your mobile apps to offer a premium desktop class experience.
Try out the new Desktop Emulator, available now in the Android Studio Canary to get started today.

We are now Compose first and Jetpack Compose is our recommended way to build modern, adaptive UIs to help you manage layout complexity efficiently.
-
New layout primitives: We're introducing Grid and FlexBox layouts, bringing powerful, CSS-inspired capabilities to Compose for both 1D and 2D layouts.
-
Navigation 3: The 1.1 release for compose-navigation3 introduces Scene Decorators, allowing you to wrap your screens with other content, such as bars, rails and dialogs.
-
MediaQuery API: The new experimental MediaQuery API provides observable device UI capabilities, such as window size and pointer precision, that allow you to adapt and optimize your app's UI for the current device configuration.
-
Styles API: Dynamically evolve the visual properties of your app using the new state-based experimental Styles API.
.gif)
Adaptive app quality goes beyond window dimensions, including handling non-touch input paradigms e.g. keyboard, trackpad, mouse, stylus that are primary input methods on large screens.
-
Trackpad support: Compose 1.11 now brings trackpad support on par with mouse, and provides new APIs to automate non-touch input testing including
TrackpadInjectionScopeandperformTrackpadInput. -
Focus indicators: Enhance accessibility with built-in support for standard focus rings in Compose.
Android Studio and Android CLI are evolving to help you architect adaptive apps faster than ever.
-
Android Skills: These modular AI instructions are designed to assist any LLM through complex architectural tasks, including helping you with View-to-Compose migrations, implementing adaptive layouts, Navigation 2 to Navigation 3 transformation, and migrating off of legacy camera libraries to CameraX. Get started with these latest skills on the Android Skills Github repo and via Android CLI.
-
New Project Agent: Available in Android Studio Panda 2, this agent initializes new projects with adaptive best practices by default.
.png)
We're excited to see how you bring these new adaptive capabilities to your apps. By moving to an adaptive first approach, you're not just reaching more users but you're delivering the seamless, high quality experiences they expect across the entire Android device landscape.
Get started with adaptive development and start shaping the future of your apps.
Explore this announcement and all Google I/O 2026 updates on io.google.
19 May 2026 11:00am GMT
Updates to the Android XR SDK: Introducing Developer Preview 4

Today we're excited to launch Developer Preview 4 of the Android XR SDK, continuing our focus on unifying cross-device development for headsets, wired XR glasses, and intelligent eyewear. To keep our platform intuitive, we are adopting more descriptive naming for our form factors, where AI glasses are now audio glasses and display AI glasses are now display glasses, with these changes appearing in our documentation starting today.
This release is packed with updates that help you build incredible experiences for XR devices, enable deeper immersive experiences on XR headsets, and streamline the path for creating augmented experiences on audio and display glasses. Also, our core libraries-including XR Runtime, Jetpack SceneCore, and ARCore for Jetpack XR- will be officially moving to Beta soon!
To give you early access to hardware and resources for building immersive and augmented experiences on upcoming devices-like display and audio glasses and XREAL's Project Aura - we're announcing the Android XR Developer Catalyst Program. Learn more and start your application today.
Building Augmented Experiences for Audio and Display Glasses
Starting out with our libraries for augmented experiences, Developer Preview 4 introduces new APIs that help you create and test your apps.
Jetpack Projected: Device Availability and ProjectedTestRule APIsThe Jetpack Projected library helps bridge app experiences from the phone to the user's field of view. We've added the Device Availability API, which consolidates wear state and connectivity signals into standard Android Lifecycle.State values. This lets you adjust your applications behavior based on whether the device is worn.
val xrDevice = XrDevice.getCurrentDevice(projectedContext)
// Observe the device lifecycle flow
xrDevice.getLifecycle().currentStateFlow
.collect { state ->
when (state) {
Lifecycle.State.STARTED -> { /* Device is available (worn) */ }
Lifecycle.State.CREATED -> { /* Device is unavailable (not worn) */ }
Lifecycle.State.DESTROYED -> { /* Device is DISCONNECTED */ }
}
}
To simplify testing, the new ProjectedTestRule API in the projected-testing artifact automates the setup of projected test environments. This helps you write clean, reliable unit tests without the boilerplate code.
// from the 'androidx.xr.projected:projected-testing:1.0.0-alpha07' artifact
@get:Rule
val projectedTestRule = ProjectedTestRule()
@Test
fun testProjectedContextInitialization() {
// by default, ProjectedTestRule automatically creates and connects
// a projected device before each test
val projectedContext = ProjectedContext.createProjectedDeviceContext(context)
// assert the projected context is successfully initialized
assertThat(projectedContext).isNotNull()
}
Jetpack Compose Glimmer: Google Sans Flex and new components
Our UI library for display glasses, Jetpack Compose Glimmer, now includes Google Sans Flex for improved legibility on optical see-through displays. We've also added several interactive components:
- Stacks: Designed for touchpad-optimized groups, showing one item at a time.
- Title Chips: Provides categorization and context for content cards.

Building Immersive Experiences for XR Headsets and Wired XR Glasses
If you're looking to build fully immersive experiences for XR Headsets and wired XR Glasses, we have several big updates.
Beta Transition & Modern ArchitectureXR Runtime, Jetpack SceneCore, and the ARCore for Jetpack XR perception features (Depth Maps, Eye/Hand Tracking, Hit Testing, and Spatial Anchors) will soon move to Beta, so we've streamlined the Jetpack XR APIs. We've removed legacy Guava and RxJava3 packages in favor of a modern, Kotlin-first architecture.
Jetpack SceneCore: glTF and Custom MeshesWe're expanding 3D model capabilities by adding the ability to fine tune 3D models and access specific nodes with a 3D model. Using GltfModelNode, you can modify properties like pose, materials, and textures, and even run animations for specific nodes.
// Create a new PBR material
pbrMaterial = KhronosPbrMaterial.create(
session = xrSession,
alphaMode = AlphaMode.OPAQUE
)
// Load a texture.
val texture = Texture.create(
session = xrSession,
path = Path("textures/texture_name.png")
)
// Apply the texture and configure occlusion
pbrMaterial.setOcclusionTexture(
texture = texture,
strength = 0.5f
)
// Access the hierarchy of nodes
val entityNodes = entity.nodes
// Find the specific node
val myEntityNode = entityNodes.find { it.name == "node_name" }
// Apply the PBR material override
myEntityNode?.setMaterialOverride(
material = newMaterial
)

// Create the mesh
val roadMesh =
CustomMesh.BuilderFromMeshData(session, roadVertexLayout)
.addVertexData(ByteBufferRegion(roadDataBuffer, 0, vertexDataSize))
.setIndexData(ByteBufferRegion(roadDataBuffer, vertexDataSize, indexDataSize))
.setTopology(MeshSubsetTopology.TRIANGLES)
.build()
// Define the material
val roadMaterial = KhronosPbrMaterial.create(session, AlphaMode.OPAQUE)
// Instantiate the entity using the custom mesh and material
val roadEntity =
MeshEntity.create(
session,
roadMesh,
listOf(roadMaterial),
pose = roadPose,
)

We now have native glTF support directly in Compose for XR with SpatialGltfModel. Use this along with SpatialGltfModelState to access nodes and animations in the glTF model, or use them to add textures and materials to your 3D models.
val myGltfModelState = rememberSpatialGltfModelState(
source = SpatialGltfModelSource.fromPath(
Paths.get("models/my_animated_model.glb")
)
)
val myGltfAnimation =
myGltfModelState.animations.find { it.name == "animation_name" }
DisposableEffect(myGltfAnimation) {
myGltfAnimation?.loop()
onDispose {
myGltfAnimation?.stop()
}
}
SpatialGltfModel(state = myGltfModelState, modifier = modifier)

We're also providing an early preview of the Geospatial API for wired XR Glasses in ARCore for Jetpack XR. This update enables high-precision anchoring of digital content tied to real-world locations in over 87 countries.
By combining ARCore's Visual Positioning System (VPS) with the reasoning and audio capabilities of the Gemini Live API, you can create contextually aware experiences that understand both the location and position of your user. Imagine building an immersive, AI-guided walking tour that provides real-time audio descriptions of nearby places, seamlessly blending digital information with the physical environment.

Start Building the Future Today
It's an amazing time to develop for Android XR. With the Jetpack XR SDK moving to Beta soon and a robust set of new tools at your fingertips, explore each of the following areas to get your app's experiences ready for XR!
Read the documentation, explore the samples, and check out the XR experimentsHead to the official Android Developer site for full technical guides, API reference, and instructions on setting up the new emulator. Get inspired with our samples and experiments. See how we've used these APIs to build immersive spatial layouts, load 3D models, explore spatial audio, and more!
We've added official support for Unreal Engine and Godot, and we've launched two new tools to accelerate development for Android XR with Unity and the Android XR Interaction Framework. And, based on your feedback, we are introducing the Android XR Engine Hub to allow you to run your experiences directly from your preferred engine,
Don't miss your chance to build for the latest Android XR hardware. Apply today for the opportunity to gain access to pre-release hardware, including our audio and display glasses prototype and XREAL's Project Aura.
We look forward to seeing the amazing XR experiences you build as we move toward the launch of more Android XR devices later this year!
Explore this announcement and all Google I/O 2026 updates on io.google.
19 May 2026 10:45am GMT
Android XR Updates for Unity, Unreal, and Godot
.png)
Today, we are excited to announce that official support for Unreal Engine and Godot has arrived for Android XR. Alongside these engine expansions, we are also launching new tools designed to boost your productivity and enable new XR capabilities: the Android XR Engine Hub and the Android XR Interaction Framework.
Android XR Engine Hub
The Android XR Engine Hub is currently available for Windows and is your mission control for development. It unifies your workflow across Unity, Unreal Engine, and Godot by serving as a high-speed bridge that streams device-created perception data straight from your device into the engine of your choice.

Real-Time Streaming via OpenXR
The Hub bridges the gap between desktop power and mobile sensor data. Instead of requiring a full build to see how your app reacts to the world, the Hub streams OpenXR extensions from the physical Android XR device directly to your Windows machine.
This means you can iterate on complex interactions in "Play Mode" while receiving live, high-fidelity data from the headset's sensors. Without this streaming capability, testing even a minor change to eye-tracking or spatial mapping would require a full APK export and installation.
The Hub enables low-latency testing for the following streamed extensions:
Core & Interaction Support
- XR_EXT_hand_tracking & hand_interaction: Streams 26-point hand meshes and joint data for immediate interaction testing.
- XR_EXT_eye_gaze_interaction: Virtualizes eye-gaze data to test UI and foveated logic on your PC.
- XR_EXT_palm_pose & XR_EXT_uuid: Real-time precision tracking and persistent object ID streaming.
Android XR Vendor Extensions
- Eye & Face Tracking (
XR_ANDROID): Stream expressive avatar data to your editor to refine social presence without building. - Passthrough & Trackables: Access live environmental understanding-like plane detection and hit testing-directly within the engine's viewport.
By virtualizing the device's hardware capabilities and streaming them over a low-latency desktop bridge, the Android XR Engine Hub allows for game engine developers to quickly iterate.
Download the Hub:
Get the Android XR Engine Hub for Windows
Learn more about Direct Preview
Expanding Game Engine Support
Through our commitments to OpenXR standards, we are ensuring that whether you are a veteran studio or an indie developer, you have best-in-class tools to help bring your creative vision to life.
Unreal Engine
Unreal Engine support is now available in developer preview, targeting version 5.6.1. This integration is built directly on using OpenXR with the support for AndroidXR vendor specific API using the Android XR vendor plugin for Unreal, you can access platform-specific extensions for advanced hand tracking, face tracking, and scene understanding (like plane detection and depth) whilst making use of Unreal blueprints or C++ support.
Get Started with Unreal:
- Download the Android XR Extension Plugin for Unreal
- Official Unreal Engine Website
- View the Unreal Engine Development Guide
Godot
In partnership with the Godot Foundation and W4 Games, we are bringing official Godot support to Android XR for Godot 4.6.2 and higher.
We are already seeing incredible momentum from W4 as they have ported experiences like MoAT and Expedition to Blobotopia that are already live on Google Play, proving that Godot is ready for production-grade spatial experiences today.
To unlock the full potential of the platform, use the Godot OpenXR Vendors plugin 5.1, which provides the necessary Android XR vendor extensions for features like scene meshing, dynamic resolution, light estimation and much more. We're collaborating with Godot to optimize the OpenXR implementation for the Android XR power profile and input standards.
Get Started with Godot:
- Download the Godot OpenXR Vendors Plugin
- Official Godot Engine Website
- View the Godot XR Setup Guide
Unity
The Unity OpenXR: Android XR 1.13 package is now available for Unity 6.5 Beta. Unity has expanded Application SpaceWarp support to include both uGUI and TextMeshPro. Keep an eye out for the general release of Unity 6.5 and more platform enhancements arriving this summer.
Android XR Extensions v1.3.1 for Unity
Everything else you need for comprehensive platform integration is available in our latest Android XR Extensions release:
- Spatial API Support: You can now manage the
android.software.xr.api.SPATIALmanifest tag directly through XRSessionFeature settings, making it easier than ever to define your app's Spatial API requirements and target levels. - Fine Eye Face Tracking: A new Fine Eye Poses feature provides high-precision eye poses using the
TryGetFineEyePosesextension method. - Direct Preview Support: The Android XR Streaming feature enables Direct Preview support within Unity Editor's PlayMode (Windows only).
Note: Android XR (Extensions): Hand Mesh has been removed; you should now use the unified Hand Mesh Data within the extensions package.
Android XR Interaction Framework for Unity
The Android XR Interaction Framework (AXRIF) is now available in developer preview. AXRIF is an unstyled, opinionated input toolkit that abstracts the complex logic required to build interfaces that are consistent with Android XR system interactions.
Instead of focusing on UI visuals, AXRIF prioritizes the underlying mechanics of the Android XR user experience. At its core is the same Transition Manager that powers the system's rich multimodal inputs, enabling state switching between 6DoF controllers, 3D mouse, hand tracking, and eye gaze. By leveraging this framework, developers can significantly reduce the implementation burden required to bring Android XR's full complement of robust interactions to their apps.
At launch, the framework provides three core capabilities:
- Automated Multimodal Input Transitions: The framework manages the state machine for switching between input modalities. For example, it handles the transition logic when a user moves from gaze-targeting an object to directly touching it, simplifying simultaneous support for hands, controllers, and mice.
- Gaze-Assisted Gesture Interaction: AXRIF combines gaze vector targeting with hand gesture recognition (such as pinch-to-select) for precise distant interaction, matching the system's default behavior.
- Physics-Based 2D UI Interaction: The framework maps high-fidelity hand tracking to 2D plane interactions, enabling intuitive poke and swipe gestures on floating panels while respecting physical boundary constraints.
By adopting AXRIF, your app inherits the platform's native interaction model, ensuring your app feels consistent with the rest of the OS.
Explore the Toolkit:
Interaction Framework Documentation
Download the Unity Package
Get Started Today:
There has never been a better time to dive into Android XR development. With support across Unity, Unreal, and Godot, the platform is ready for your creative vision, no matter which engine you call home. Explore our official engine partners to get started:
19 May 2026 10:30am GMT
Introducing Android Performance Analyzer : The Next Evolution in Profiling for Android

By Simon Cooke, Developer Relations Engineer (X) and Mayank Jain, Product Manager (X)
What is Android Performance Analyzer?
Android Performance Analyzer (APA) is Android's new profiler and performance analysis tool for the Android mobile ecosystem.
APA is intended as a profiling tool for any developer building for Android who needs to make their app or game run better and faster. It is helpful for all performance-minded engineers, especially those using Vulkan in their game engines who want to squeeze every bit of performance out of their code.
APA aims to be the tool that helps you optimize apps and games for all modern Android devices and simplifies your most common workflows, with a simple interface that anyone on your team can quickly learn and be productive.
Available today in open beta is APA's new System Profiler that you can use to analyze the CPU, GPU, Memory, and power usage of your app or game - and see how it interacts with system behavior.
Developed in collaboration with Samsung Austin Research Center (SARC) and LunarG, APA relies on Perfetto for system tracing and its upcoming frame profiling/debugging features (stay tuned!) are powered by LunarG's GFXReconstruct technology for graphics capture and replay.
Devices running Android 12+ will provide the best experience for capturing system-wide performance and GPU counters and render stages.
We're also working across the Android ecosystem with our esteemed industry partners to bring more profiling & optimization related data into APA.

How to get Android Performance Analyzer
APA ships in two different forms, and you can download whichever one suits your needs best
- As a lightweight standalone desktop app.
- And also integrated directly into Android Studio as the updated System Trace viewer (available in Panda 4 canary builds and later).
The standalone desktop app is intended to be used without an Android Studio project or Gradle build - and provides deep customization of recording configuration, built-in Vulkan layers for graphics analysis, deep inspection of GPU counters and much more.
APA is also cross-platform: works natively on Windows, MacOS, and Linux.
Features in this release
Basic profiling functionality
Capturing your profile data
You don't always want to take a capture immediately at application or game launch. APA allows you to choose, and capture traces from your device at launch or triggered manually. The user interface allows you to select which GPU counters and other data is captured in a trace - and if you have more complex needs, you can provide your own custom Perfetto configuration.
Deep-Dive System Analysis
With APA, you can analyze the entire system's behavior in one view. For example, you can easily examine CPU cores - both their frequencies and the work scheduled on them or inspect processes & their thread activity.
For graphics-heavy apps, APA provides GPU performance counter data across hardware from Qualcomm, Arm, Imagination, and Samsung. You can even track battery and power consumption to see the impact of your code on power consumption.
To understand exactly where frames are spending time, SurfaceFlinger events provide deep visibility into the rendering and display composition pipeline, from initial code acquisition to final display. And with the new screenshots feature, you can visually scrub through to easily find the exact areas where you want to focus your attention.
You can open existing Perfetto traces, zoom through the timeline for precise detail, and use rulers to measure the duration of work and events. APA also lets you bookmark and annotate interesting findings, and you can pin critical tracks to the top of your screen to keep your focus exactly where it needs to be as you optimize.
Workflow features
Tabbed interface and split windows: You can open multiple traces in side-by-side tabs or split a single trace into two windows to compare different regions of the same trace simultaneously.

Tabbed interface showing two traces side-by-side.
Project-based workflow: APA uses a project model that allows you to keep track of multiple traces from the project sidebar. This is especially useful for gathering the results of A/B testing and longitudinal tests, and keeping all of your results together for comparison & quick access purposes.

The new project window helps you manage multiple traces.
Navigate visually using screenshots: APA lets you capture screenshots during a trace (without any noticeable performance overhead) to home in on areas where you saw something affect performance by scrubbing through the timeline. Or even just to get your bearings.
Scrubbing the timeline using screenshots for navigation (trace taken from NetMarble's Seven Deadly Sins: Origin).
Persistent view customizations: When you pin or vertically resize tracks, we save those customizations so that they persist the next time you open the trace.
Analysis tools & new skills for AI agents
Vulkan debug trace markers for render passes: We support Vulkan debug annotations for render passes - which allow you to view Render Pass names you set from your codebase directly in the tracks and slices shown in APA.
This immensely helps you to make logical connections between the workloads you see in the profiler to where they are originating from in your codebase.
Vulkan Debug Markers allow you to keep track of what kind of work is being performed in your trace.
Use AI to build SQL queries for custom analysis work: APA supports trace analysis via SQL queries and ships with a new Perfetto SQL skill for use with your favorite AI agents. This makes it easier to build queries without needing to remember Perfetto SQL schemas or the SQL syntax.

Ask Gemini to analyze traces for you: We've also added another Perfetto Analysis skill to answer high-level questions for you - like "Why is my app startup slow?" - helping you to find starting points when analyzing complex traces, using your favorite AI agent to pinpoint the answers.

Agentic trace analysis in Android Performance Analyzer
FPS and Frame Duration times : You can review the FPS and Frame duration time at a glance in the tracks to correlate it with other activity happening in your trace.

Speed & robustness improvements
Speed and robustness improvements: Rendering a trace is now typically 6x to 26x faster than Android GPU Inspector, and APA is significantly more stable when working with large traces.
Case studies
We've worked with our early access partners to create detailed case studies showcasing how APA could be used to improve performance for Vulkan apps & games.
The Forge Interactive
The Forge used Android Performance Analyzer to identify the need to batch calls to vkCmdBindDescriptorSets, which reduced CPU setup costs by ~50%. This, in turn, slowed heat production on their device by 2-3x, leading to longer session times. They also used APA to identify opportunities to move font and UI rendering work over to the GPU, improving scalability.
You can read the full case study from The Forge here.
Note: This case study demonstrates how to use custom SQL queries in the profiler to generate a total rendering cost metric.
The Forge case study showing frames presented consistently at a stable 30 FPS using APA
NetMarble - Seven Deadly Sins: Origin
Netmarble used Android Performance Analyzer to fine-tune their game Seven Deadly Sins: Origin, focusing particularly on improving performance by making changes to the precision of their shaders, and exploring the impact of upscaling on the performance of their renderer.
This allowed them to reduce the GPU cost of rendering some scenes by up to 90%.
Read the full NetMarble case study here.
Netmarble validating pre- and post-optimization performance changes using APA for their game: Seven Deadly Sins: Origin
Profiling model complexity in Google's Filament engine
Google has been improving the Filament glTF Viewer, our physically-based rendering engine.
We spent some time digging into the viewer with a variety of scenes, and showed how to use Android Performance Analyzer to identify scenes that are too complex for the GPU, and how to trim them down to hit a target 60FPS, by improving texture compression and optimizing geometry. Memory consumption was also reduced in this process.
You can read our exploration of Filament here.
Screenshot showing GPU wait time was reduced from 25ms to 20ms by introducing dynamic resolution and measuring it through APA
Try out the Android Performance Analyzer Beta today!
The Android Performance Analyzer is available for you to try out and use today:
- Standalone profiler: https://developer.android.com/android-performance-analyzer
- Android Studio Canary Build (Panda 4 canary builds and later): https://developer.android.com/studio/preview
This is beta software, which means that you might run into an occasional bug - please report it to us if you find any (Help Menu > Submit a bug report).
We're excited to see how you use the new Android Performance Analyzer, and how it will help your project's performance and reliability.
Explore this announcement and all Google I/O 2026 updates on io.google.
19 May 2026 10:00am GMT
Android Studio I/O Edition: What’s new in Android Developer tools

This year at Google I/O we are going beyond iterative changes, towards a fundamental shift in how apps are built. Our newest tools are built for the agentic era with features that boost productivity for you as an Android developer AND supercharge the AI agents you deploy in your codebase. So, whether you are building exclusively with AI or you prefer being the architect of every line of code, our tools will keep you ahead of the curve.
As we move from "AI-assisted" to "Agentic" development, we're making it easier than ever to turn a spark of an idea into a high-quality production app with significantly less developer effort.
So what's new with Android developer tools? We will cover 3 main areas in this blog:
-
Let your agent handle it: Whatever development task you are working on, the Android Studio agent can help: from planning the app architecture and design, to writing code, to unit testing and bug fixing.
-
Any AI provider, anywhere you build: In Android Studio, you can use any model and we even help guide you to the best performing ones. Choose any of the top remote models from Google, Anthropic, OpenAI, or if you need to run locally - Gemma 4 is our most capable and efficient local model! And with Android CLI, you can build Android apps faster and easier using the agents and developer environments of your choice.
-
As always, performance and quality remain top priorities: We continue to invest in the Android developer tools you love: from the Emulator, to Profilers, performance analyzers, and more!
1: Let your agent handle it
Agent skills
Android Studio now supports Agent Skills, modular instruction sets that ground LLMs in specialized workflows and domain-specific knowledge. By adding skills to your project, you can teach the agent to follow specific best practices, architecture patterns, or library workflows. This enables more accurate, context-aware code generation and automated skill activation for an appropriate task, ensuring the agent acts as an expert. We've bundled many of the top Android and Firebase agent skills in the latest Android Studio Canary build, so you can skip straight to building!
Skills in Agent ModeYou can create your own skill, or use Android CLI to install our official skills - a repository that covers some of the most common workflows that some Android developers and LLMs may struggle with. They help models better understand and execute specific patterns that follow our best practices and guidance on Android development, such as XML to Compose migration, Edge-to-edge, Navigation 3, and more. You can even build for Android XR, starting with a beautiful Display Glasses app with Jetpack Compose Glimmer. Official Android skills are automatically bundled with the latest Android Studio so the Agent is ready to build!
Build full-stack apps with Firebase in Agent Mode
Firebase services like Auth and Firestore databases can now be enabled directly within Agent Mode in Android Studio using the Agent Skills for Firebase. Your agent will be able to complete Firebase integration and configure backend services. This integration empowers you to build robust, full-stack Android applications without ever leaving your IDE!

Parallel conversations
You can now run multiple conversations with Agent Mode in parallel. In one conversation, run tests and while you are waiting, you can kick off planning mode for a new feature in your app while using a third conversation thread to write documentation for your app. These improvements will save you time and improve your productivity.

A more capable New Project Agent
Android Studio's New Project Agent has evolved into a powerful full-stack development tool, utilizing a multi-step execution plan and an autonomous "generation loop" that self-corrects build errors and configures dependencies across multiple files. This advanced capability is significantly amplified by its new integration with Firebase Agent Skills, allowing developers to seamlessly build, debug, and deploy complete full-stack applications directly from a single prompt to final production.

Additionally, it now offers support for large screens. You can scaffold your project with layouts, navigation, and components optimized for tablets, foldables, and laptop devices from the get-go. It has additional logic to test your app on large-screen emulators if you have one enabled. Simply configure the required device in the Android Emulator and the Agent can test it out!

2: Any AI provider, anywhere you build
Build Android apps in Google AI Studio
Google AI Studio now features full Android app development capabilities. Users can generate new applications, preview them instantly via an embedded Android Emulator, and deploy them directly to physical devices using ADB over USB. Additionally, developers can publish straight to Google Play; AI Studio handles the app record creation, bundles the package, and uploads it to an internal testing track. For advanced development and production readiness, projects can be exported as a ZIP file and opened seamlessly in Android Studio. To get started, visit Google AI Studio today and start building!
Google AI Studio build mode with Android frameworkAndroid CLI helps you build faster, more efficiently with any agent
Android CLI enables you to build apps using any agent, LLM, and tool of your choice. Android CLI is designed to help AI agents build faster, and use less tokens when compared to only using generic LLM tools. By grounding agents with Android Knowledge Base and Android skills, you can now have your agent of choice follow the latest best practices across any coding environment.
Additionally, when using the latest Canary version of Android Studio Quail, Android CLI enables your agent to leverage powerful capabilities of the IDE, such as analyzing files for issues or finding symbol declarations. Google Antigravity 2.0 now offers official support for Android development with Android CLI.
Google AI plan

Gemma 4 for local code assist and on-device AI
And now in the latest Canary build, you can download and run Gemma 4 directly from the IDE, without needing to set up an external server.

Bring your own model to Android Studio

Android Bench highlights the top models

3: As always, performance and quality remain top priorities:
Test multi-device interactions with the Android Emulator

Android Debug Bridge Wi-Fi 2.0
ADB Wi-Fi 2.0 offers significantly more reliable wireless debugging. With the latest ADB command line tool from Android Platform Tools v37 and an Android 17 device, you can now change networks, shut down your machine, and go about your typical day and your devices will stay connected. Additionally, devices with wireless debugging enabled will automatically show in Android Studio's Device Manager, streaming the pairing process and making it easier than ever to connect Android phones, watches, and more.

Android Studio now lets you publish to Google Play for testing

Upload App Bundle to Google Play
Android developer verification support

Memory leak detection with LeakCanary
The Android Studio LeakCanary profiler task significantly enhances developer productivity by enabling the analysis and inspection of memory leak traces directly on the desktop development environment rather than on the mobile device. Furthermore, Android Studio streamlines troubleshooting by providing tools like "Go to declaration" to map the leak analysis directly to the codebase, allowing developers to quickly locate and resolve memory leaks.
Starting from the Android Studio Quail 1 release, you can now also request Gemini to review the memory leak for you using the "Fix with Agent" button.

Android Performance Analyzer (APA)
Android Performance Analyzer (APA) is the next generation of performance profiler for Android and provides a cohesive analysis of CPU, GPU, memory, and power usage for your apps and games running on Android 12+ devices. APA is engineered for reliability and performance with trace rendering speeds which are up to 26x faster from previous tooling.

APA integrates natively with AI agents and offers two new skills: Perfetto SQL skill and the Perfetto Analysis skill, which helps with questions like "Why is my app startup slow?"

R8 Configuration Analyzer
Suggested fixes for crashes with Agent integration in AQI

Get started
Download the latest Android Studio Quail preview build and try these new features. As always, your feedback is crucial to us. Check known issues, report bugs, and be part of our vibrant community on LinkedIn, YouTube, or X. Happy coding! Explore this announcement and all Google I/O 2026 updates on io.google.
19 May 2026 9:30am GMT
Android UI Development is Compose First

- Rich feature set: With a powerful library of layouts, input, graphics, animation APIs, and the latest Material Design components, Compose empowers you to build anything.
- Highly performant: Out of the box, Compose offers native performance, delivering a delightful experience to your users.
- Adaptive: Compose offers the easiest way to build adaptive apps that work across the range of Android form factors.
- Productive: With powerful tools like Previews and Live Edit and the full expressiveness of Kotlin, teams tell us that they move much faster when building with Jetpack Compose, reducing the time to market.
android.widget package) to be in maintenance mode. We have no plans to deprecate or remove View components and will continue to support them with critical bug fixes, but they will receive no new features.
View-based Jetpack Libraries
The same goes for View based libraries like Fragments, RecyclerView or Viewpager - we consider them complete and will only publish critical bugfixes. For a complete list of libraries now in maintenance mode, see here.
Tools
Any new Android Studio UI tools will be built for Jetpack Compose only. Existing view-based tools (such as the Navigation Editor and Layout Editor) are now in maintenance mode and will not receive new features.
Guidance
Documentation, codelabs, and samples will focus on building UI with Jetpack Compose. You can still find Views-specific documentation linked from pages that contain generic and Compose information, where relevant.
Happy Composing
We recommend that you build all new features with Compose and convert existing features when you touch them to gain the many Compose benefits. Check out our XML to Compose migration skill to help you convert existing layouts to Compose.
To learn about the latest Compose release, check out What's new in the Jetpack Compose April '26 release blog and the roadmap for what's planned ahead.
Thank you for all of the feature-requests and feedback that have helped shape Compose to become our recommended UI toolkit. As always, if you have any more feedback, let us know. Happy composing!
19 May 2026 9:00am GMT
What's new in Android for Cars: Unifying platforms and unlocking premium experiences

We're thrilled to see developers continuing to bring their apps and experiences to Android for Cars! Over the past year, we've continued to see strong growth and momentum in the app ecosystem on Android Auto and cars with Google built-in. This year at Google I/O, we're introducing updates that benefit both drivers and developers by enabling richer, more differentiated in-car experiences. With new features and templates that allow you to build once to reach users across different infotainment screens and car platforms, it's easier than ever to build for the road.
What's new in the Car App Library
We're bringing more flexibility, new components, and new template capabilities to the Car App Library. Car App Library 1.8.0-beta01 and Car App Library 1.9.0-alpha01 are now available.
Build templated media apps for both Android Auto and Android Automotive OS
Developers can now build customized, distraction-optimized, media browsing and playback experiences for Android Automotive OS, making it easier to build once and deliver these templated media apps to more users and more cars.
To help you test the experiences on Android Automotive OS, we'll be launching updated system images for the Android Automotive OS emulator. Beginning with revision 3, the API level 35-ext15 system images will support apps built using the Car App Library media templates.
Unlocking developer creativity with Car App Library 1.9.0 alpha
With the 1.9.0-alpha01 release of the Car App Library, we're bringing features to help you build more differentiated, expressive experiences across Android Auto and cars with Google built-in.

We're increasing the modularity of existing templates to give developers more flexibility and options for laying out content. These improvements include expanded headers for better visual emphasis, such as on detail pages, spotlight sections that can be placed in scrollable areas to highlight specific content, and grid item variations to support different content types and states.

App developers, including those shown below, have already begun building upgraded media experiences using these new Car App Library features. You can join these developers and prepare to distribute your own media apps built with the Car App Library templates by applying to participate in our early-access beta program.

Distribute your adaptive video apps to more cars with minimal effort
You've already built the apps, now we're helping you reach more users. For the first time in Android Auto, users will be able to sit back, relax, and watch videos while parked. Apps, like YouTube, will be able to deliver smooth, 60fps HD video playback. This brings the Android Auto parked experience in line with the high-fidelity, immersive experiences users already enjoy in cars with Google built-in.
This capability will start rolling out to compatible vehicles later this year, for users with phones running Android 17 and higher. If your video app is already adaptive, making it available for parked use cases in cars requires minimal effort. To express interest in making your video app available on Android Auto, fill out this form.
Widgets are coming to cars
The next generation of Android Auto brings a more expansive user interface and the Material 3 Expressive design system you know from the phone into the car, built to seamlessly fill larger screens no matter what shape they are. With this new design, the investments you've already made in mobile widgets will be available to users of Android Auto this year, and cars with Google built-in later on, opening up new ways to reach and engage with your users while they're on the road. We're excited to unlock these new glanceable user journeys!
The road ahead
You can look forward to even more updates coming to cars later this year.
-
To deliver a more continuous user experience, we're making it possible for you to provide a templated experience while driving that can seamlessly transition to a native, adaptive app experience when the vehicle is parked.
-
New components and conversational templates will be coming to the Car App Library, so you can integrate agentic and voice-based flows more seamlessly in apps.
-
Improved app brand expression across all car surfaces allow experiences built with the Car App Library to feel easily recognizable by your users.
-
Google Maps SDK support is coming to cars with Google built-in. With this change, you'll be able to use the Google Maps SDK to render map-based content with the MapWithContentTemplate in point-of-interest (POI) and Weather apps on both Android Auto and cars with Google built-in.
Stay updated on these features and start building with the latest at goo.gle/cars-whats-new.
Explore this announcement and all Google I/O 2026 updates on io.google.
19 May 2026 8:30am GMT
I/O 2026: What's new in Google Play

Posted by Paul Feng, VP, Google Play Eng, Product, UX
At Google Play, we're passionate about helping people connect with the experiences they'll love, while empowering developers like you to turn great ideas into lasting business success.
At this year's Google I/O, we talked about our evolving business model that offers more choice and new ways for your apps and content to be discovered on and off the store. We also unveiled advanced tools and insights that will help scale your business with less complexity. Watch the keynote video below, or keep reading for the biggest updates from this year's event.
Expanding your reach by meeting users where they are
Your apps and the incredible worlds you build are no longer just a single destination, but connected experiences that reach users across surfaces and devices. To help you meet users where they are, Google Play continues to evolve into a content-forward destination that delivers immersive and personalized experiences on the store, across their devices, and directly within your apps and games.
Beyond the store: Expanding discovery to new surfaces & devices
We're unlocking new opportunities for your apps and content to be discovered across the wider Android ecosystem.
- Surfacing your apps and content in Gemini: As people increasingly start their journeys with virtual assistants, we want to ensure your apps and their content are an essential part of this. In the coming weeks, we're enabling app discovery in the Gemini app on Android and Web, connecting your apps and games to millions of Gemini users. Later this year, Gemini will also surface over 450,000 movies and TV shows, as well as where to stream live sports, and deep-link users directly into your app content.

to entertainment content during a search.
- Delivering personalized content across the ecosystem: Engage SDK surfaces deliver your content to over 30 million monthly active users and drive millions of app opens every month-a massive 45% increase year-over-year. And we're making it even more powerful by expanding support for new surfaces and devices.
- Store listing integration: Starting next month, existing users will see Engage SDK content directly on your store listings.
- New tablet surfaces: We're broadening reach across Android tablet surfaces, including home screen Collections.
- Global scale: Every Engage SDK surface can now scale your content across over 80 Play markets.
Boost re-engagement by integrating with Engage SDK today. If your app is already integrated, no further action is required to benefit from these updates.
On the store: Enhancing content formats and conversational search
We're also optimizing the Play Store to help grow your audience with engaging content formats and a more intelligent search experience, to make it easier than ever for users to find and connect with your app.
- Capturing attention with Play Shorts: Our full-screen, portrait, short-form video feed gives users a glimpse of your app's look, feel, and functionality. Play Shorts is rolling out to users in the US and select developers, and we look forward to expanding this to more markets and developers in the coming months.

- Enabling deeper search journeys with Ask Play: Building on AI-powered Q&A, which already answers 95% of user queries, we're introducing Ask Play. This AI-powered overlay turns discovery into a natural conversation, understanding the full context of a user's question and adapting to follow-ups to recommend the right app. Plus, with Ask Play highlights, users can get a high-level summary of complex searches directly on the search results page to help find the right apps or games more effortlessly.

In your games: Deepening player engagement and community
Once players launch your title, the real challenge is keeping them in the action. Play Games Sidekick provides an in-game overlay that gives players instant access to gaming information-like AI-generated Game Tips, rewards, and achievements - driving higher engagement while keeping players immersed. Sidekick has already debuted in over 100+ titles, and we're building on this momentum with:
- New social features: Starting next month, players can see which friends are playing the same game and track their achievements
- Global expansion: Sidekick expands to all participating titles this summer. Head over to Play Console to enable Sidekick and begin testing the user experience so that you're ready for our global launch, while also meeting one of our core Level Up program guidelines.
Scaling your business with less complexity
We're streamlining your day-to-day tasks while providing more comprehensive reporting to help you capture more growth opportunities.
Streamline your Play Store operations with AI
We're using Gemini models to handle the heavy lifting of localizing your store content and managing your catalog.
- Localize with less effort: Eliminate manual copy-pasting by uploading a structured file (like a CSV or Google Sheet). Gemini models enable Play Console to pre-populate your listings across different languages for your review. You can also leverage AI-translated subscription benefits to quickly scale your localization efforts.
.gif)
- Convert search trends into growth: We've simplified the path from insight to action. When you click a keyword recommendation on your Grow overview page, Gemini creates a new custom store listing automatically tailored to that keyword-ready to deploy with just one click.
- Simplify catalog management: We're introducing agentic catalog management to help you manage your one-time products. Soon, you can leverage new in-console capabilities to execute bulk price changes, import SKUs, and configure metadata, saving hours of manual work.
New agentic capabilities in Play Console will make managing your catalog seamless.For a detailed look at these features and more, watch this video.
Behind-the-scenes features that optimize your revenue
We're building tools to maximize your revenue at every stage-with zero developer work required. When a user decides to buy, our platform helps ensure that the transaction completes at the point of conversion, renewal, and retention.
- Optimizing conversion with delayed charging: When a payment initially fails, our risk models evaluate the transaction. If it's low-risk, we grant the user access to your paid content while we retry the charge in the background. This means your lowest-risk subscribers get the best experience and you are less likely to lose them due to a temporary glitch.
- Boosting renewals with extended recovery periods: To prevent involuntary churn, we've extended the default account recovery period from 30 to 60 days to give subscribers more time to fix failed payments, like expired credit cards. This shift has driven up to an 18% reduction in involuntary churn and a 9% reduction in total churn for top developers.
- Maximizing retention with flexible flows: A rigid experience makes retention nearly impossible. Coming soon, our new in-app subscription management API lets subscribers change plans or accept a downgrade offer the moment they hit "cancel." Combined with replacement modes that automate prorated refunds, you'll have a powerful toolkit to save at-risk subscribers.

More reporting and AI-powered insights
We're providing more data and more AI-powered insights to help you understand your performance and ROI on Play.
- Measure your full marketing impact: See your app's total visibility on Play with our new reach metric. Gain better insight into store listing performance with indirect value not previously reported. Analyze downstream impact-like engagement, retention, and monetization-with our new traffic source breakdowns.
- Optimize the path to purchase and retention: We've added cart conversion rates to your core performance metrics to help you identify and fix friction in your checkout flow. New data on subscriber tenure and churn reasons allow you to better pinpoint why subscribers leave and which segments are most at risk.
- Get faster answers: Using Gemini models, we're expanding chart descriptions from the Statistics page to the Reach & Devices and Store Performance pages to help you spot trends instantly. With new interactive Q&A and proactive monetization insights, you can ask why a metric shifted and instantly receive tailored recommendations to optimize your business.
Get instant answers and recommendations for optimizing your business.Protecting your success
In addition to making it easier and faster to publish safer apps, we're also making it easier to secure your app's revenue and reputation.
- Defend your business against fraud and abuse: The new Protected with Play dashboard helps you monitor and configure your integrity, distribution, and monetization defenses all in one place. We're also reducing warm-up latency for Play Integrity API, so you can use these checks during speed-critical user journeys to block threats and risky devices faster.

- Get proactive protection for your store and revenue: We work behind the scenes to help stop malicious activity before it impacts your business. Last year, our automated anti-spam protections blocked 160 million spam ratings and reviews while our anti-fraud efforts automatically protected apps using Play Billing from 3.2 billion dollars in fraud and abuse.
Growing your business on Google Play
Our latest updates reinforce our commitment to deliver the highest return on your team's investment, by expanding your reach beyond the store, simplifying your day-to-day operations, and helping you better safeguard your success. We're excited to see you use these new capabilities to create even more impactful experiences. Thank you for being a part of the Google Play community.
19 May 2026 8:15am GMT






.png)





















