Android Developers

Articles on modern tools and resources to help you build experiences that people love, faster and easier, across every Android device.

Now in Android #115

Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.

In this episode we’re covering the third beta of Android 16, Gemini in Android Studio for Business and Gemini Multimodal, Widgets, GDC announcements, safety and security updates on Play, Android XR, Media, Camera, and so, so much more.

Most of the content of this post is available in the form of a video or podcast, so feel free to watch or listen rather than read on. (Or do all three to help you remember! There won’t be a quiz.)

The Third Beta of Android 16 🤖

Android 16 has reached Platform Stability with Beta 3. The API surface is locked, app-facing behaviors are final, and you can now push Android 16-targeted apps to the Play Store.

The Android 16 beta now supports Auracast broadcast audio with compatible LE Audio hearing aids on Pixel 9 devices, It introduces outline text, replacing high contrast text, which draws a larger contrasting area around text to greatly improve legibility for users with low vision, and adds the ability to test the Local Network Protection feature, which gives users more control over which apps can access devices on their local network.

Make sure to test your apps for compatibility now, as the release is coming to non-beta users soon with changes to JobScheduler, broadcasts, ART, Intents, accessibility, Bluetooth, and more.

Gemini in Android Studio for businesses 🤖

Android Studio now has Gemini in Android Studio for businesses through Gemini Code Assist to meet the privacy, security, and management needs of organizations.

With Gemini Code Assist, your code remains secure with a data governance policy, you retain control and ownership of your data and IP, and you benefit from generative AI IP indemnification, safeguarding against copyright infringement claims related to AI-generated code.

With a Code Assist Enterprise license, you can connect to your GitHub, GitLab, or BitBucket repositories to get assistance customized to your organization’s codebases. Gemini in Android Studio also provides tailored assistance for Android developers, with features like build and sync error support, Gemini-powered App Quality Insights, and help with Logcat crashes.

Multimodal image attachment is now available for Gemini in Android Studio 🖼️

Gemini in Android Studio now supports multimodal inputs, allowing you to attach images directly to prompts. To try this out, download the latest Android Studio canary.

With the image attachment icon in the Gemini chat window, you can attach JPEG or PNG files to prompts. You can convert wireframes or mockups into Jetpack Compose code, gain insights into architecture or data flow diagrams, and troubleshoot UI bugs by uploading screenshots and asking Gemini for solutions.

Widgets Take Center Stage with One UI 7 📱

Samsung’s One UI 7 offers greater personalization and an optimized, more prominent widget experience. Widgets put your brand and key features front and center on the user’s device, leading to better user engagement and more. Google Play now has a dedicated widgets search filter to help more easily identify apps with widgets, new widget badges on App Detail Pages and a curated widgets editorial page to help apps with widgets gain visibility and reach a wider audience.

Spotlight Week: Design and Develop Widgets 🔦

We just finished the Widget Spotlight week, covering our new widget Quality Tiers, Canonical Layouts, the new Figma Widget Design Kit, Jetpack Glance, and the Coding Widgets layout video plus codelab to help you design and build amazing widgets.

Google at GDC 🎮

Android and Google Play had a bunch of announcements at the annual Game Developers Conference (GDC) last month in San Francisco.

Building excellent games with better graphics and performance 🎮

Android announced that Vulkan is now the official graphics API, unlocking features like ray tracing and multithreading. If your game uses OpenGL, Android will use ANGLE to translate OpenGL to Vulkan.

The Android Dynamic Performance Framework (ADPF) has been updated to provide longer and smoother gameplay sessions. ADPF is designed to work across a range of devices and offers built-in support with game engines.

Play Console will include Low Memory Killers (LMK) in Android Vitals, providing insights into memory constraints that can cause your game to crash.

There is a pilot program to simplify bringing PC games to mobile, with games such as DREDGE and TABS Mobile growing their mobile audience using this program.

Making Google Play the best place to grow PC games 💻

Google Play is improving its platform for PC games, providing better user experiences and new ways for developers to engage PC players.

You can use the Play Games PC SDK for native PC games on Google Play Games, providing tools like in-app purchase integration and security protection. You can distribute through the Play Console, where you can manage both mobile and PC game builds. There is a new earnback program that allows you to earn up to an additional 15% when you bring your PC games to Google Play Games on PC.

Mobile games will be available on PC by default, with the option to opt out. Games will have a playability badge indicating their compatibility with PC. We’re partnering with OEMs to make Google Play Games accessible from the start menu on new devices this year. New features such as custom controls are now available to help players tailor their setup, and multi-account and multi-instance support are being added.

In addition, Play Points will be easier to track and more rewarding on PC, with up to 10x points boosters, and Google is working on a solution to help you run user acquisition campaigns for both emulated mobile and native PC titles within Google Play Games on PC.

Android XR launch recap: Build immersive experiences with your existing Android skills!

We announced the Android XR developer preview, a unified platform for XR development using familiar tools and Open Standards. You can use Android Studio, Jetpack libraries, and Compose for XR (for simplified UI development). Unity developers get support for Unity’s editor and XR packages. Apps will be distributed via the Play Store. Key features include eye, voice, and hand multimodal input, Android accessibility features, automatic adaptation of your existing large-screen compatible apps, Jetpack XR SDK with ARCore, and Unity support based on OpenXR.

Strengthening Our App Ecosystem: Enhanced Tools for Secure & Efficient Development 🛡️

Google is enhancing safety and security on Google Play and Android by providing tools that make it easier for you to build secure apps.

Here are some of the ways Google is improving the app ecosystem:

  • Play Console pre-review checks now include the ability to check privacy policy links and login credential requirements. More pre-review checks are planned for this year.
  • Notifications in Android Studio alert you to relevant policies as you code. This year, the notifications will expand to cover a wider range of policies.
  • Google is improving its policy experience to give you clearer updates and more time for substantial changes.
  • The Google Play Developer Help Community will be expanded to include more languages, such as Indonesian, Japanese, Korean, and Portuguese.
  • Apps using the Play Integrity API features are seeing an 80% drop in unauthorized usage on average compared to other apps.
  • Google will enhance the Play Integrity API with stronger protection for even more users and is improving the technology that powers the API on all devices running Android 13 (API level 33) and above.
  • Badges will be added to more app categories in the future.
  • Credential Manager API is now in Beta for Digital IDs.
  • Google Play Protect live threat detection is expanding its protection to target malicious applications that try to impersonate financial apps.

Articles 📚

The Google Play team covered how you can prioritize media privacy in your app, recommending requesting only essential permissions, and using the Android Photo Picker instead of requesting broad storage access. Be transparent with users about why your app needs access to their photos and videos if you’re using a custom picker.

#WeArePlay talked about how Memory Lane Games helps people with dementia, and how they’re offering deeply personal games in multiple languages. Co-founder Bruce was inspired by his mother and co-founder Peter’s mother, who, despite having vascular dementia, lit up when looking at old family photos.

The creators strive for frustration-free game design and Generative AI may be used to create personalized and localized game content, with the goal to offer deeply personal games in multiple languages.

Nevin covered common media processing operations with Jetpack Media 3 Transformer, including common editing operations such as:

  • Transcoding: Re-encode an input file into a specified output format.
  • Trimming: Set Transformer up to trim the input video from a start to end point.
  • Muting: Mute the audio in the exported video file.
  • Resizing: Resize the input video by scaling it down (or up) to a specified height and width.

Transformer prioritizes transmuxing (repackaging video streams without re-encoding) for basic video edits where possible. When not possible, Transformer falls back to transcoding (decoding video samples into raw data, then re-encoding them for storage in a new container).

Jolanda showed how to implement smooth transitions for foldable devices entering tabletop mode using CameraX and Compose. Key takeaways include:

  • Leveraging Adaptive APIs: Update dependencies to utilize the latest animation and adaptive APIs, including Compose 1.8 and material3-adaptive.
  • Utilizing Rulers: Use Compose 1.7.0’s rulers (accessible via currentWindowAdaptiveInfo()) to determine hinge position for layout adjustments.
  • Animating Bounds: Employ Modifier.animateBounds() within a LookaheadScope to animate composable bounds during mode transitions (flat to tabletop).
  • Using Animated Visibility: Consider using AnimatedVisibility to create a dynamic control panel that can be positioned relative to the hinge.

Since Android 16 requires you to make WebViews edge-to-edge, Ash covered best practices for doing so, such as:

  • If you don’t own the WebView content, wrap the WebView and pad it.
  • If you do own the content, use the `viewport-fit=cover` meta tag, CSS variables for safe area insets, and JavaScript to inject padding. Handle IME insets to avoid keyboard overlap.

Cyril over at Amo covered how they leveraged Jetpack Compose to create a delightful user experience through touch-based feedback using graphics, haptics, and sound. Bump’s implementation of custom audio, shader-based animations, and interactive map elements are all built with the Android SDK, Jetpack Compose, Kotlin, and Google Play Services.

Videos 📹

Google Play’s April 2025 policy updates impact Android developers in several key areas:

  • News Apps: New policies require News and Magazine apps to complete a self-declaration form, update Play Store listings, regularly update content with named sources, and avoid affiliate marketing/ad revenue focus.
  • Financial Services (Line of Credit): Apps facilitating lines of credit are now included under personal loan policies, prohibiting access to sensitive user data and requiring adherence to stricter permission policies.
  • User Data: New best practices emphasize compliance with data protection laws (e.g., GDPR) and provide resources for doing so. Regular compliance checks are recommended.
  • Photos & Videos: Reminder that apps accessing photos and videos require a declaration form by May 28, 2025, and must only access them for direct functionality purposes.

Christopher, Nam, and Carmen covered how the Android team is working to improve Android app startup performance, focusing on bridging the performance gap between initial launch and subsequent runs. Key takeaways include:

  • Baseline Profiles & Dex Optimization: Crucial for improving startup time.
  • Avoid JIT Compilation: Identify and strategically load expensive dependencies to minimize just-in-time compilation.
  • Perfetto Traces: Use Perfetto to debug performance issues and verify optimization changes.

SDK Runtime

We’ve got two new videos covering the SDK Runtime, a new way to work with third party code in your app.

Anatomy of the SDK Runtime covers how the SDK Runtime in the Privacy Sandbox isolates third-party SDKs into their own sandboxes, enhancing user privacy and app security. Key takeaways:

  • SDKs run in their own process, separate from the main app.
  • Android SDK Bundles (ASBs) are the distribution format.
  • Development targets Android 11+, with Jetpack providing backward compatibility.
  • SDKs have restricted permissions and communication.
  • Jetpack simplifies inter-process communication.

Introduction to the SDK Runtime covers the features and benefits of the tech both for you and for your app’s users. The SDK Runtime isolates third-party Software Development Kits (SDKs) — common sources of app functionality like ads or analytics — into a separate environment. Benefits of this include:

  • Enhanced Privacy: Restricts SDK access to sensitive user data.
  • Improved Security: Helps prevent malicious SDK behavior and ad fraud.
  • Increased Stability: Reduces app crashes caused by third-party code.
  • Faster Updates: Allows for quicker deployment of SDK security patches.

Check out the new runtime to help build more secure and private experiences.

The Google Play “Best of 2024” awards highlighted Infinite Painter which reduced inking latency by 5x using the graphics core and input motion prediction Jetpack libraries.

Compose for Android TV allows you to reuse existing business logic and architecture from your mobile apps to accelerate TV app development, and this Compose for TV video from Paul shows you how. The recommended approach is to separate business logic from UI-specific view models, enabling the creation of dedicated TV UIs using TV-specific Compose components (from the TV material artifact) with focus management features like `onFocusChanged` and `bringIntoViewSpec`. Building a modular architecture with shared UI components, domain models, and data layers enhances code reuse across form factors.

AndroidX Releases 🚀

There’s a bunch of new stuff in AndroidX, headlining:

Media3 1.6.0 — what’s new? 🚀

Media3 version 1.6.0 is now available, which includes bug fixes, performance improvements, and new features.

  • ExoPlayer now supports HLS interstitials for ad insertion in HLS streams.
  • You can enable experimental support for pre-warming decoders on the DefaultRenderersFactory.
  • A new media3-ui-compose module is available for building Compose UIs for playback.
  • MediaExtractorCompat is a drop-in replacement for the framework MediaExtractor but implemented using Media3’s extractors.
  • You can use the new ExperimentalFrameExtractor class to retrieve video frames.
  • Dolby Vision streams are now supported for transcoding/transmuxing on devices that support this format.

Jetpack WindowManager 1.4 is stable 📱

Jetpack WindowManager 1.4 is now stable, introducing new features for building adaptive apps.

  • WindowSizeClass API is updated to support custom values.
  • Activity stack pinning provides a way to keep an activity stack always on screen.
  • Pane expansion lets you create a visual separation between two activities in split-screen mode.
  • Dialog full-screen dim lets you choose to dim just the container where the dialog appears or the entire task window.
  • Enhanced posture support allows you to access the WindowInfoTracker#supportedPostures API to determine if a device supports tabletop mode.

Health Connect Jetpack SDK is now in beta with new feature updates 🧪

The Health Connect Jetpack SDK is now in beta. The beta release includes mandatory recording methods and device types for more accurate and insightful data.

New permissions let your app access Health Connect data while running in the background, if the user grants consent. The PERMISSION_READ_HEALTH_DATA_HISTORY permission enables access to user data beyond the default 30-day window.

Health Connect now also offers expanded data types, such as Exercise Routes and skin temperature.

Unit Testing Lifecycle and State in ViewModels

Android app developers should note that Lifecycle 2.9.0-alpha08 introduces ViewModelScenario for easier unit testing of ViewModels. This new tool simplifies testing ViewModel lifecycle and state restoration, including SavedStateHandle functionality, and ensures ViewModel.onCleared() is properly called. ViewModelScenario is also KMP compatible, facilitating cross-platform development.

Other Highlights:

androidx.core:core-i18n:1.0.0:

  • A significant new library designed to simplify internationalization (i18n) in Android apps. It offers improved date/time formatting that respects user settings (unlike android.icu.text.MessageFormat) and provides a backport of android.icu.text.MessageFormat that integrates well with the new date/time formatting. This is important if you want to support diverse locales and user preferences for date and time display.

androidx.webkit:webkit:1.14.0-alpha01:

  • Introduces the PaymentRequest API to allow Android native payment apps to be invoked from a WebView, but developers must explicitly enable it and add a <queries> tag to their manifest. It also introduces experimental APIs for enhanced WebView navigation tracking and WebViewCompat#saveState to manage WebView state saving.

androidx.datastore:datastore-:1.2.0-alpha01:

  • Adds a datastore-guava module to expose APIs friendly to Java and Guava ListenableFuture users via GuavaDataStore. Also supports DataStore usage during DirectBoot mode, requiring creation within Device Protected storage.

androidx.wear:wear-phone-interactions:1.1.0:

  • Includes a critical bug fix for Wear OS 5 (API 34+) apps targeting API 35+. Update before* targeting API 35 to avoid runtime exceptions.

androidx.dynamicanimation:dynamicanimation:1.1.0:

  • The DynamicAnimation library is now stable.

androidx.activity:activity:1.11.0-beta01:

  • Added MediaCapabilities API to PickVisualMediaRequest to let applications specify its media capabilities.

androidx.games libraries:

  • Upgrades to Gradle 8.8.1 and Java 17, fixes bugs. games-frame-pacing includes various bug fixes.

Android Developers Backstage🎙️

Tor, Chet, Romain, Theresa, and Naheed took a deep dive into what Google’s doing around app safety, including the SDK Index, pre-review checks, and Safety Labels to help you build secure apps and protect users from suspicious activity, tying into the Strengthening our app ecosystem blog post.

Now then… 👋

That’s it for this edition, with third beta of Android 16, Gemini in Android Studio for Business and Gemini Multimodal, Widgets, GDC announcements, safety and security updates on Play, Android XR, Media, Camera, a ton of AndroidX updates, and much more.

Check back soon for your next update from the Android developer universe!

--

--

Android Developers
Android Developers

Articles on modern tools and resources to help you build experiences that people love, faster and easier, across every Android device.

Daniel Galpin
Daniel Galpin

Developer Advocate at Google, writer, editor, theatrical performer, and social dancer.

Responses (2)