{"id":3590,"date":"2026-09-23T10:11:16","date_gmt":"2026-09-23T10:11:16","guid":{"rendered":"https:\/\/dev95.site\/now-in-android-123\/"},"modified":"2026-09-23T10:11:16","modified_gmt":"2026-09-23T10:11:16","slug":"now-in-android-123","status":"publish","type":"post","link":"https:\/\/dev95.site\/ar\/now-in-android-123\/","title":{"rendered":"Now In Android #123"},"content":{"rendered":"<div id=\"dev95-181769601\" class=\"dev95-- dev95-entity-placement\"><script async=\"async\" data-cfasync=\"false\" src=\"https:\/\/pl27862732.profitableratecpmnetwork.com\/2ad7a50e0bbc23ac6801d7b77c501463\/invoke.js\"><\/script>\r\n<div id=\"container-2ad7a50e0bbc23ac6801d7b77c501463\"><\/div><\/div><div>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1024\/0%2AgIxhniXZ31TZ_1fZ.png?w=1280&#038;ssl=1\"><\/figure>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/start-building-for-glasses-new-devices.html\">Android XR,<\/a> <a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/android-studio-otter-2-feature-drop-is.html\">Android Studio Otter 2 feature drop<\/a>; <a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/android-16-qpr2-is-released.html\">Android 16 QPR2<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/whats-new-in-jetpack-compose-december.html\">compose updates<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/jetpack-navigation-3-is-stable.html\">Jetpack Navigation 3<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/fully-optimized-wrapping-up-performance.html\">performance<\/a> and <a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/ml-kit-genai-prompt-api-alpha-release.html\">much<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/introducing-camerax-15-powerful-video.html\">much<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=dQw4w9WgXcQ&amp;list=RDdQw4w9WgXcQ&amp;start_radio=1\">much<\/a>\u00a0more.<\/h4>\n<p>Welcome to Now in Android, your ongoing guide to what\u2019s new and notable in the world of Android development.<\/p>\n<p>You can catch a short subset of what\u2019s in this gigantified update on YouTube, but read on for the full\u00a0story.<\/p><div id=\"dev95-2620690836\" class=\"dev95- dev95-entity-placement\"><center>\r\n<script>\r\n  atOptions = {\r\n    'key' : '4ba6b6513c00e0ba76511f798ae56401',\r\n    'format' : 'iframe',\r\n    'height' : 50,\r\n    'width' : 320,\r\n    'params' : {}\r\n  };\r\n<\/script>\r\n<script src=\"https:\/\/www.highrevenueformat.com\/4ba6b6513c00e0ba76511f798ae56401\/invoke.js\"><\/script>\r\n\t<\/center><\/div>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FkIe8ha5MxOk%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DkIe8ha5MxOk&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FkIe8ha5MxOk%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/406ea21381b605792c1cb5f40715bc89\/href\">https:\/\/medium.com\/media\/406ea21381b605792c1cb5f40715bc89\/href<\/a><\/iframe><\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1024\/0%2Ak-qSFagXPs28dlyz.png?w=1280&#038;ssl=1\"><\/figure>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/start-building-for-glasses-new-devices.html\">Start building for glasses, new devices for Android XR and more in The Android Show | XR Edition\u00a0\ud83d\udc53<\/a><\/p>\n<p>The Android Show | XR Edition introduced updates to the Android XR platform, focusing on new devices and developer tools. The platform is expanding to include lightweight AI and Display AI glasses from Samsung, Gentle Monster, and Warby Parker, integrating Gemini for features like live translation and visual search. Uber is exploring AI Glasses for contextual directions. Wired XR glasses, such as XREAL\u2019s Project Aura, are scheduled for release next\u00a0year.<\/p>\n<p><a href=\"https:\/\/android-developers.googleblog.com\/2025\/12\/build-for-ai-glasses-with-android-xr.html\">Android XR SDK Developer Preview 3<\/a> offers increased stability for headset APIs and opens development for AI Glasses. This includes new libraries like <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk#jetpack-compose-glimmer\">Jetpack Compose Glimmer<\/a> for transparent display UI and <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk#jetpack-projected\">Jetpack Projected<\/a> for extending your mobile apps to glasses. <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/arcore\">ARCore for Jetpack XR<\/a> gains Geospatial capabilities, and new APIs enable detection of device field-of-view for adaptive\u00a0UIs.<\/p>\n<p>The platform, built on OpenXR, supports Unreal Engine development with a Google vendor plugin for hand tracking coming next year, and Godot Engine now includes Android XR support via its <a href=\"https:\/\/store-beta.godotengine.org\/asset\/godot-xr\/godot-openxr-vendors-plugin\/\">OpenXR vendor plugin v4.2.2\u00a0stable<\/a>.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/start-building-for-glasses-new-devices.html\">Start building for glasses, new devices for Android XR and more in The Android Show | XR Edition<\/a><\/p>\n<p>Check out <a href=\"https:\/\/www.youtube.com\/watch?v=LWS3g1tWQ3o\">#TheAndroidShow in 60 seconds<\/a> for a quick video overview of what we\u00a0covered.<\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1024\/0%2AI0X4zz6plpS6bK2f.png?w=1280&#038;ssl=1\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/build-for-ai-glasses-with-android-xr.html\">Build for AI Glasses with the Android XR SDK Developer Preview 3 and unlock new features for immersive experiences \ud83d\ude80<\/a><\/h3>\n<p>Android XR SDK Developer Preview 3 is now available, enabling you to build augmented experiences for AI Glasses in addition to <a href=\"https:\/\/developer.android.com\/develop\/xr\/explore\/immersive\">immersive experiences<\/a> for XR Headsets.<\/p>\n<p>Key updates\u00a0include:<\/p>\n<ol>\n<li><strong>For AI Glasses:<\/strong> New tools and libraries such as Jetpack Projected for accessing <a href=\"https:\/\/d.android.com\/develop\/xr\/jetpack-xr-sdk\/access-hardware\">sensors, speakers, and displays<\/a>; Jetpack Compose Glimmer with <a href=\"https:\/\/d.android.com\/develop\/xr\/jetpack-xr-sdk\/jetpack-compose-glimmer\/whats-included#components\">UI components<\/a> optimized for display AI Glasses; and an AI Glasses emulator within <a href=\"https:\/\/developer.android.com\/studio\/preview\">Android Studio<\/a>. ARCore for Jetpack XR now supports <a href=\"https:\/\/d.android.com\/develop\/xr\/jetpack-xr-sdk\/arcore\/device-pose\">motion tracking<\/a> and <a href=\"https:\/\/d.android.com\/develop\/xr\/jetpack-xr-sdk\/arcore\/geospatial\">geospatial capabilities<\/a> for augmented experiences on AI\u00a0Glasses.<\/li>\n<li><strong>For Immersive Experiences (XR Headsets and XR Glasses):<\/strong><\/li>\n<\/ol>\n<ul>\n<li><strong>Jetpack SceneCore<\/strong> adds dynamic <a href=\"https:\/\/developer.android.com\/develop\/xr\/tas-xr-gltf-model-materials\">glTF model loading via URIs, improved material support<\/a>, and an enhanced <a href=\"https:\/\/developer.android.com\/reference\/androidx\/xr\/scenecore\/SurfaceEntity\">SurfaceEntity<\/a> component with <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/add-spatial-video#play-drm\">Widevine DRM support<\/a> and new shapes for <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/add-spatial-video#play-180\">360-degree and 180-degree videos<\/a>.<\/li>\n<li><strong>Jetpack Compose for XR<\/strong> introduces the <a href=\"https:\/\/developer.android.com\/develop\/xr\/tas-xr-user-subspace\">UserSubspace<\/a> component for content follow behavior, <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/xr\/compose\/subspace\/animation\/SpatialTransitions\">spatial animations<\/a>, and support for specifying <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/subspacemodifiers\">layout sizes<\/a> as fractions of the user\u2019s field of\u00a0view.<\/li>\n<li><strong>Material Design for XR<\/strong> offers new components that adapt spatially, including <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/material-design#dialogs\">dialogs<\/a>, <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/material-design#navigation-bar\">navigation bars<\/a> that pop out into an Orbiter, as well as a <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/xr\/compose\/material3\/package-summary?hl=en#SpaceToggleButton(androidx.compose.ui.Modifier,androidx.compose.material3.IconToggleButtonColors,kotlin.Function1)\">SpaceToggleButton<\/a>.<\/li>\n<li><strong>ARCore for Jetpack XR<\/strong> now includes <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/arcore\/face\">face tracking<\/a> with 68 blendshape values, <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/xr\/arcore\/Eye\">eye tracking<\/a>, and <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/arcore\/depth\">depth\u00a0maps<\/a>.<\/li>\n<li>An <a href=\"https:\/\/developer.android.com\/studio\/releases\/emulator\">XR Glasses emulator<\/a> for devices like Project Aura from XREAL has been added to Android\u00a0Studio.<\/li>\n<li>The <strong>Android XR SDK for Unity<\/strong> expands tracking capabilities to include QR and ArUco codes, planar images, experimental body tracking, and scene\u00a0meshing.<\/li>\n<\/ul>\n<p>To begin building, update to <a href=\"https:\/\/developer.android.com\/studio\/preview\">Android Studio Canary<\/a> (Otter 3, Canary 4 or later) and emulator version 36.4.3 Canary or later, then visit <a href=\"http:\/\/developer.android.com\/xr\">developer.android.com\/xr<\/a> for libraries and\u00a0samples.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/build-for-ai-glasses-with-android-xr.html\">Build for AI Glasses with the Android XR SDK Developer Preview 3 and unlock new features for immersive experiences<\/a><\/p>\n<p>Check out the <a href=\"https:\/\/www.youtube.com\/watch?v=3t1euTWAz0o\">The Android Show XR Edition Recap<\/a> to get caught\u00a0up.<\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1024\/0%2A8AAk9hBYCCQj_6nN.jpg?w=1280&#038;ssl=1\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/android-studio-otter-2-feature-drop-is.html\">Android Studio Otter 2 Feature Drop is stable!\u00a0\ud83d\ude80<\/a><\/h3>\n<p>The Android Studio Otter 2 Feature Drop is now stable. This release introduces updates to Agent Mode, including the <a href=\"https:\/\/developer.android.com\/r\/studio-ui\/gemini\/android-knowledge-base\">Android Knowledge Base<\/a> for improved accuracy and the option to use the <a href=\"https:\/\/android-developers.googleblog.com\/2025\/11\/gemini-3-is-now-available-for-ai.html\">Gemini 3 model<\/a>. You can now use <a href=\"https:\/\/developer.android.com\/studio\/intro\/studio-config#ExportImportSettings\">Backup and Sync<\/a> to maintain consistent IDE settings across your machines and opt-in to receive communications from the Android Studio team. Additionally, this release incorporates stability and performance enhancements from the <a href=\"https:\/\/www.jetbrains.com\/idea\/whatsnew\/2025-2\/\">IntelliJ IDEA 2025.2 platform<\/a>, such as Kotlin compiler and terminal improvements.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/android-studio-otter-2-feature-drop-is.html\">Android Studio Otter 2 Feature Drop is stable!<\/a><\/p>\n<p>We\u2019ve released a bunch of shorts to highlight important Otter 2 features, such as <a href=\"https:\/\/www.youtube.com\/shorts\/3DKTBrh0Y_g\">The Gemini 3 model is now available for AI assistance in Android Studio<\/a>, <a href=\"https:\/\/www.youtube.com\/shorts\/oKxgWY50MR0\">Agent Mode\u2019s Android knowledge<\/a>, and<\/p>\n<p><a href=\"https:\/\/www.youtube.com\/shorts\/giasdjkOCiE\">Android Studio Otter Backup and Sync<\/a>. Also check out <a href=\"https:\/\/www.youtube.com\/shorts\/5UGIbURj508\">Top 4 agentic experiences for Gemini in Android Studio<\/a>, and <a href=\"https:\/\/www.youtube.com\/watch?v=jTlW8JeCClA\">What\u2019s new in Android Studio\u2019s AI\u00a0Agent<\/a>.<\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/632\/0%2A6LP6t8ukOm2Bm1UW.png?w=1280&#038;ssl=1\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/android-16-qpr2-is-released.html\">Android 16 QPR2 is Released\u00a0\ud83d\ude80<\/a><\/h3>\n<p>Android 16 QPR2 has been released, marking the <a href=\"https:\/\/android-developers.googleblog.com\/2024\/10\/android-sdk-release-update.html\">first minor SDK version<\/a>. This release aims to accelerate innovation by delivering new APIs and features outside of major yearly platform releases.<\/p>\n<p>Key updates\u00a0include:<\/p>\n<ul>\n<li><strong>Minor SDK Release:<\/strong> You can now check for new APIs using <a href=\"https:\/\/developer.android.com\/reference\/android\/os\/Build.VERSION#SDK_INT_FULL\">SDK_INT_FULL<\/a> and <a href=\"https:\/\/developer.android.com\/reference\/android\/os\/Build.VERSION_CODES_FULL\">VERSION_CODES_FULL<\/a> in the Build class as of Android\u00a016.<\/li>\n<li><strong>Expanded Dark Theme:<\/strong> This feature provides an option to invert apps that do not have a native dark theme, intended as an accessibility feature. You should declare isLightTheme=\u201dfalse\u201d in your dark theme if your app does not inherit from standard DayNight themes to prevent unintended inversion.<\/li>\n<li><strong>Custom Icon Shapes &amp; Auto-Theming:<\/strong> Users can select custom shapes for app icons, and the system can automatically generate themed icons if your app does not provide\u00a0one.<\/li>\n<li><strong>Interactive Chooser Sessions:<\/strong> The sharing experience now supports real-time content updates within the Chooser, keeping the UI interactive.<\/li>\n<li><strong>Linux Development Environment with GUI Applications:<\/strong> You can now run Linux GUI applications directly within the terminal environment.<\/li>\n<li><strong>Generational Garbage Collection:<\/strong> The Android Runtime (ART) includes a Generational Concurrent Mark-Compact (CMC) Garbage Collector to reduce CPU usage and improve battery efficiency.<\/li>\n<li><strong>Widget Engagement Metrics:<\/strong> You can <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/glance\/metrics\">query user interaction events<\/a> such as clicks, scrolls, and impressions for your\u00a0widgets.<\/li>\n<li><strong>16KB Page Size Readiness:<\/strong> Debuggable apps not 16KB page-aligned will receive early warning\u00a0dialogs.<\/li>\n<li><strong>IAMF and Audio Sharing:<\/strong> Software decoding support for Immersive Audio Model and Formats (IAMF) is added, and Personal Audio Sharing for Bluetooth LE Audio is integrated into the system Output Switcher.<\/li>\n<li><strong>Health Connect Updates:<\/strong> Health Connect automatically tracks steps using device sensors, and you can now track weight, set index, and Rate of Perceived Exertion (RPE) in exercise segments.<\/li>\n<li><strong>Smoother Migrations:<\/strong> A new Data Transfer API enables data migration between Android and iOS\u00a0devices.<\/li>\n<li><strong>Developer Verification:<\/strong> APIs support developer verification during app installation, with ADB commands available to simulate outcomes.<\/li>\n<li><strong>SMS OTP Protection:<\/strong> The delivery of messages containing an SMS retriever hash is delayed for most apps by three hours to help prevent OTP hijacking.<\/li>\n<li><strong>Secure Lock Device:<\/strong> A new system-level security state locks the device immediately, requiring the primary PIN, pattern, or password to unlock and temporarily disabling biometric unlock.<\/li>\n<\/ul>\n<p>To get started, you can get the Android 16 QPR2 release on your Pixel device, or use 64-bit system images with the Android Emulator in Android Studio. Using <a href=\"https:\/\/developer.android.com\/studio\/preview\">the latest Canary build<\/a> of Android Studio Otter is recommended.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/android-16-qpr2-is-released.html\">Android 16 QPR2 is Released<\/a><\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1024\/0%2Ajvir379-NuvgSHce.png?w=1280&#038;ssl=1\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/whats-new-in-jetpack-compose-december.html\">What\u2019s new in the Jetpack Compose December \u201925 release\u00a0\ud83d\ude80<\/a><\/h3>\n<p>The <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/compose\">Jetpack Compose December \u201925 release<\/a> is now stable, including core Compose modules version 1.10 and Material 3 version 1.4. To use this release, update your <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/bom\/bom-mapping\">Compose BOM<\/a> version to 2025.12.00.<\/p>\n<p>Key updates\u00a0include:<\/p>\n<ul>\n<li><strong>Performance Improvements:<\/strong> Scroll performance now matches Views, with pausable composition in lazy prefetch enabled by default to reduce jank. Further optimizations improve Modifier.onPlaced and Modifier.onVisibilityChanged performance.<\/li>\n<\/ul>\n<p><strong>New Features:<\/strong><\/p>\n<ol>\n<li>The <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/runtime\/retain\/package-summary#retain(kotlin.Function0)\">retain<\/a> API helps persist non-serializable state across configuration changes, useful for objects like media\u00a0players.<\/li>\n<li>Material 3 1.4 adds an experimental TextFieldState for TextField, new <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/package-summary#OutlinedSecureTextField(androidx.compose.foundation.text.input.TextFieldState,androidx.compose.ui.Modifier,kotlin.Boolean,androidx.compose.ui.text.TextStyle,androidx.compose.material3.TextFieldLabelPosition,kotlin.Function1,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Function0,kotlin.Boolean,androidx.compose.foundation.text.input.InputTransformation,androidx.compose.foundation.text.input.TextObfuscationMode,kotlin.Char,androidx.compose.foundation.text.KeyboardOptions,androidx.compose.foundation.text.input.KeyboardActionHandler,kotlin.Function2,androidx.compose.ui.graphics.Shape,androidx.compose.material3.TextFieldColors,androidx.compose.foundation.layout.PaddingValues,androidx.compose.foundation.interaction.MutableInteractionSource)\">SecureTextField<\/a> variants, autoSize support for Text, a <a href=\"https:\/\/m3.material.io\/components\/carousel\/specs\">HorizontalCenteredHeroCarousel<\/a> variant, <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/package-summary?_gl=1*1h4dj5y*_up*MQ..*_ga*NDE1MzI0NzAwLjE3NjQ2MTM1MzU.*_ga_6HH9YJMN9M*czE3NjQ2MTM1MzQkbzEkZzAkdDE3NjQ2MTM1MzQkajYwJGwwJGgxODIyOTM4OTMy#TimePicker(androidx.compose.material3.TimePickerState,androidx.compose.ui.Modifier,androidx.compose.material3.TimePickerColors,androidx.compose.material3.TimePickerLayoutType)\">TimePicker<\/a> input mode switching, and a <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/package-summary#VerticalDragHandle(androidx.compose.ui.Modifier,androidx.compose.material3.DragHandleSizes,androidx.compose.material3.DragHandleColors,androidx.compose.material3.DragHandleShapes,androidx.compose.foundation.interaction.MutableInteractionSource)\">vertical drag handle<\/a> for adaptive\u00a0panes.<\/li>\n<li>Animation features include <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/animation\/shared-elements\/customize#dynamic-enable-disable\">dynamic shared elements<\/a>, allowing you to control sharedElement() and sharedBounds() animation transitions via SharedContentConfig\u2019s isEnabled property.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/animation\/SharedTransitionScope?hl=en#(androidx.compose.ui.Modifier).skipToLookaheadPosition(kotlin.Function0)\">Modifier.skipToLookaheadPosition()<\/a> helps create \u201creveal\u201d type shared element animations by preserving a composable\u2019s final position.<\/li>\n<li>A new prepareTransitionWithInitialVelocity API supports passing initial gesture velocity to shared element transitions.<\/li>\n<li>Experimental veil option for <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/animation\/EnterTransition\">EnterTransition<\/a> and <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/animation\/ExitTransition?_gl=1*1m00og2*_up*MQ..*_ga*MjU3NDMyNzc5LjE3NjQ2MTE4NjM.*_ga_6HH9YJMN9M*czE3NjQ2MTE4NjMkbzEkZzAkdDE3NjQ2MTE4NjMkajYwJGwwJGgxMTk2NzM1MDk0\">ExitTransition<\/a> lets you specify a color to scrim content during animations.<\/li>\n<\/ol>\n<p><strong>Tools:<\/strong> Android Studio adds Transform UI for natural language design iteration, the ability to <a href=\"https:\/\/developer.android.com\/studio\/preview\/features#ui-tools-setup\">generate @Preview<\/a> for composables, <a href=\"https:\/\/developer.android.com\/studio\/preview\/features#material-symbols-support\">customized Material Symbols<\/a> in the Vector Asset wizard, <a href=\"https:\/\/developer.android.com\/studio\/preview\/features#screen-to-code-agent\">code generation from screenshots<\/a> using Gemini (<a href=\"https:\/\/developer.android.com\/studio\/preview\/features#remote-mcp\">with remote MCP support<\/a>), and <a href=\"https:\/\/developer.android.com\/studio\/preview\/features#find-and-fix-ui-quality-issues\">UI quality issue\u00a0fixes<\/a>.<\/p>\n<p><strong>Upcoming Changes:<\/strong> <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/ui\/Modifier#%28androidx.compose.ui.Modifier%29.onFirstVisible%28kotlin.Long,kotlin.Float,androidx.compose.ui.layout.LayoutBoundsHolder,kotlin.Function0%29\">Modifier.onFirstVisible<\/a> will be deprecated in Compose 1.11 due to non-deterministic behavior; migrate to <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/ui\/Modifier#%28androidx.compose.ui.Modifier%29.onVisibilityChanged%28kotlin.Long,kotlin.Float,androidx.compose.ui.layout.LayoutBoundsHolder,kotlin.Function1%29\">Modifier.onVisibilityChanged<\/a>. Coroutine dispatch in tests will shift to StandardTestDispatcher by default in a future release to align with production behavior; you can opt-in now using effectContext = StandardTestDispatcher() in createComposeRule.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/whats-new-in-jetpack-compose-december.html\">What&#8217;s new in the Jetpack Compose December &#8217;25 release<\/a><\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1024\/0%2Ag8zfXlM9aH1RAbUO.png?w=1280&#038;ssl=1\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/jetpack-navigation-3-is-stable.html\">Jetpack Navigation 3 is stable\u00a0\ud83d\ude80<\/a><\/h3>\n<p><a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\">Jetpack Navigation 3<\/a> version 1.0 is now stable. This new navigation library is built to embrace Jetpack Compose <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/state#state-in-composables\">state<\/a>, offering full control over your back stack, helping you retain navigation state, and facilitating adaptive layouts. <a href=\"https:\/\/kotlinlang.org\/docs\/multiplatform\/whats-new-compose-110.html#support-for-navigation-3\">A cross-platform version is also available from JetBrains<\/a>.<\/p>\n<p>Developed to address the shift to reactive programming and declarative UI, Navigation 3 provides more flexibility and customizability compared to the original Jetpack Navigation (now Nav2) through smaller, decoupled APIs. For example, NavDisplay observes a list of keys backed by Compose state to update the UI. It also allows you to supply your own state for a <a href=\"https:\/\/developer.android.com\/topic\/architecture#single-source-of-truth\">single source of truth<\/a>, lets you <a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\/animate-destinations\">customize screen animations<\/a>, and <a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\/custom-layouts\">create flexible layouts with the Scenes\u00a0API<\/a>.<\/p>\n<p>If you are currently using <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/navigation\">Navigation Compose<\/a> with Nav2, you can consider migrating to Nav3. A <a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\/migration-guide\">migration guide<\/a> is available that outlines key steps, including <a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\/get-started\">adding Nav3 dependencies<\/a>, updating routes to implement NavKey, creating navigation state classes, and replacing NavController with these classes. You also move destinations from NavHost\u2019s NavGraph into an entryProvider and replace NavHost with NavDisplay. You can experiment with an AI agent, like <a href=\"https:\/\/developer.android.com\/studio\/gemini\/agent-mode\">Gemini in Android Studio\u2019s Agent Mode<\/a>, for this migration by providing the <a href=\"https:\/\/raw.githubusercontent.com\/android\/nav3-recipes\/refs\/heads\/main\/docs\/migration-guide.md\">markdown version of the guide<\/a> as\u00a0context.<\/p>\n<p>For common navigation scenarios, a <a href=\"https:\/\/github.com\/android\/nav3-recipes\">recipes repository<\/a> is available, covering topics such as <a href=\"https:\/\/github.com\/android\/nav3-recipes\/tree\/main\/app\/src\/main\/java\/com\/example\/nav3recipes\/multiplestacks\">multiple back stacks<\/a>, <a href=\"https:\/\/github.com\/android\/nav3-recipes\/tree\/main\/app\/src\/main\/java\/com\/example\/nav3recipes\/modular\/hilt\">modularization<\/a>, <a href=\"https:\/\/github.com\/android\/nav3-recipes\/tree\/main\/app\/src\/main\/java\/com\/example\/nav3recipes\/modular\/hilt\">dependency injection<\/a>, <a href=\"https:\/\/github.com\/android\/nav3-recipes?tab=readme-ov-file#passing-navigation-arguments-to-viewmodels\">passing arguments to ViewModels<\/a>, and <a href=\"https:\/\/github.com\/android\/nav3-recipes?tab=readme-ov-file#returning-results\">returning results from screens<\/a>. A <a href=\"https:\/\/github.com\/android\/nav3-recipes\/pull\/97\">deep links<\/a> and <a href=\"https:\/\/github.com\/android\/nav3-recipes\/pull\/118\">Koin integration<\/a> recipe are currently in development, and a <a href=\"https:\/\/github.com\/terrakok\/nav3-recipes\">Compose Multiplatform<\/a> version of the recipes is also available.<\/p>\n<p>To get started, you can refer to the <a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\">official documentation<\/a> and <a href=\"https:\/\/github.com\/android\/nav3-recipes\">the recipes<\/a>. You can file any issues you encounter in the <a href=\"https:\/\/issuetracker.google.com\/issues\/new?component=1750212&amp;template=2102223\">issue tracker<\/a>. We have lots of video content that can help, including a <a href=\"https:\/\/www.youtube.com\/watch?v=6L6GfvlmKj8\">Navigation 3 API overview<\/a>, our <a href=\"https:\/\/www.youtube.com\/watch?v=kjRZz5xgzyU\">3 things to know about Jetpack Navigation 3<\/a>, a recording of our <a href=\"https:\/\/www.youtube.com\/watch?v=JsugLEM6po0\">Navigation 3 #AskAndroid<\/a> session, as well as shorts on <a href=\"https:\/\/www.youtube.com\/shorts\/qKcuD2QzDsg\">Navigation 3 basics<\/a>, <a href=\"https:\/\/www.youtube.com\/shorts\/agSU7nXuDIQ\">How to animate screen transitions<\/a>, and <a href=\"https:\/\/www.youtube.com\/shorts\/gjqQXINuc8Q\">Implementing deep\u00a0links<\/a>.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/jetpack-navigation-3-is-stable.html\">Jetpack Navigation 3 is stable<\/a><\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1024\/0%2Aim6hP-l59jj-7FmR.png?w=1280&#038;ssl=1\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/fully-optimized-wrapping-up-performance.html\">Fully Optimized: Wrapping up Performance Spotlight Week\u00a0\ud83d\ude80<\/a><\/h3>\n<p>Performance Spotlight Week concluded with several announcements aimed at optimizing Android app performance.<\/p>\n<p>You can now utilize the R8 optimizer for faster, smaller, and more stable apps, with <a href=\"http:\/\/d.android.com\/r8\">updated documentation<\/a> available. For instance, enabling R8 full mode has resulted in <a href=\"https:\/\/android-developers.googleblog.com\/2025\/11\/how-reddit-used-r8-optimizer-for-high.html\">40% faster cold startup and 30% fewer ANR errors for some\u00a0apps<\/a>.<\/p>\n<p>Profile Guided Optimizations, including <a href=\"https:\/\/developer.android.com\/topic\/performance\/baselineprofiles\/overview\">Baseline Profiles<\/a> and <a href=\"https:\/\/developer.android.com\/topic\/performance\/baselineprofiles\/dex-layout-optimizations\">Startup Profiles<\/a>, can enhance startup speed, scrolling, animation, and rendering performance. Jetpack Compose 1.10 also introduced performance improvements like <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/runtime\/PausableComposition\">pausable composition<\/a> and a customizable cache window for handling complex list\u00a0items.<\/p>\n<p>To measure performance, a new Performance Leveling Guide outlines a five-step journey, starting with data from <a href=\"https:\/\/developer.android.com\/topic\/performance\/vitals?hl=de\">Android Vitals<\/a> and progressing to advanced local tooling like <a href=\"https:\/\/developer.android.com\/topic\/performance\/benchmarking\/macrobenchmark-overview\">Jetpack Macrobenchmark<\/a> and the <a href=\"https:\/\/developer.android.com\/training\/testing\/other-components\/ui-automator\">UiAutomator 2.4 API<\/a> for accurate measurement and verification.<\/p>\n<p>Debugging tools received upgrades, including Automatic Logcat Retrace in Android Studio Narwhal to de-obfuscate stack traces automatically. New guidance on Narrow Keep Rules helps fix runtime crashes, supported by a lint check in Android Studio Otter 3. Additionally, new <a href=\"https:\/\/developer.android.com\/develop\/background-work\">documentation<\/a> and the <a href=\"https:\/\/developer.android.com\/studio\/inspect\/task\">Background Task Inspector<\/a> offer insights into debugging WorkManager tasks and background work.<\/p>\n<p>Performance optimization is an ongoing process, and the <a href=\"https:\/\/developer.android.com\/topic\/performance\/app-score\">App Performance Score<\/a> framework can help you integrate continuous improvements into your product\u00a0roadmap.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/fully-optimized-wrapping-up-performance.html\">Fully Optimized: Wrapping up Performance Spotlight Week<\/a><\/p>\n<p>You can learn more on video at <a href=\"https:\/\/www.youtube.com\/watch?v=iohKX5gI5Kw\">App Performance Spotlight Week Overview<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=RMnZuoozZ5w\">App Performance #AskAndroid<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=xMylnxek5a4\">App performance improvements<\/a>, and <a href=\"https:\/\/www.youtube.com\/watch?v=QqO2jZ-NZko\">Boost Android app performance with the R8 optimizer\u00a0<\/a>.<\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1024\/0%2AtoFf2vh3mzTM8mtg.png?w=1280&#038;ssl=1\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/introducing-camerax-15-powerful-video.html\">Introducing CameraX 1.5: Powerful Video Recording and Pro-level Image Capture\u00a0\ud83d\udcf8<\/a><\/h3>\n<p>CameraX 1.5 introduces features for video recording and image capture, alongside core API enhancements.<\/p>\n<p>For video, you can now capture slow-motion or high-frame-rate videos. The new <a href=\"https:\/\/developer.android.com\/reference\/androidx\/camera\/core\/SessionConfig.Builder#setPreferredFeatureGroup(kotlin.Array)\">Feature Group API<\/a> enables combinations like <strong>10-bit HDR and 60 FPS<\/strong>, supporting features such as HDR (HLG), 60 fps, Preview Stabilization, and Ultra HDR, with plans for 4K recording and ultra-wide zoom.<\/p>\n<p>Concurrent Camera improvements allow binding Preview, <a href=\"https:\/\/developer.android.com\/reference\/androidx\/camera\/core\/ImageCapture\">ImageCapture<\/a>, and <a href=\"https:\/\/developer.android.com\/media\/camera\/camerax\/video-capture\">VideoCapture<\/a> concurrently, and applying CameraEffects in composition mode. Additionally, CameraX 1.5 includes dynamic audio muting during recording, improved insufficient storage error handling, and a low light boost for dark environments on supported devices.<\/p>\n<p>For image capture, CameraX 1.5 adds support for capturing unprocessed, uncompressed DNG (RAW) files, either standalone or simultaneously with JPEG. You can also leverage Ultra HDR output when using Camera Extensions.<\/p>\n<p>Core API changes include the new <a href=\"https:\/\/developer.android.com\/reference\/androidx\/camera\/core\/SessionConfig\">SessionConfig API<\/a>, which centralizes camera setup, removes the need for manual unbind() calls when updating use cases or switching cameras, and provides deterministic frame rate control. The camera-compose library has reached stable version 1.5.1, addressing bugs and preview stretching. Other improvements include fine-grained control over torch strength (querying max strength and setting levels) and NV21 image format support in ImageAnalysis.<\/p>\n<p>To access these features, update your dependencies to CameraX 1.5.1. You can join the CameraX developer discussion group or file bug reports for\u00a0support.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/introducing-camerax-15-powerful-video.html\">Introducing CameraX 1.5: Powerful Video Recording and Pro-level Image Capture<\/a><\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*HwwQSJO-Qw7Rcm4U\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/health-connect-jetpack-v110-is-now.html\">Health Connect Jetpack v1.1.0 is now available! \ud83d\udd17<\/a><\/h3>\n<p>The Health Connect Jetpack library has reached its 1.1.0 stable release, providing a foundation for health and fitness applications. This version incorporates features such as background reads for continuous data monitoring, historical data synchronization, and support for data types including Personal Health records, Exercise Routes, Training Plans, and Skin Temperature. The platform supports over 50 data types across various health and fitness categories.<\/p>\n<p>Additionally, Health Connect is expanding its device type support, which will be available in version 1.2.0-alpha02. New <a href=\"https:\/\/developer.android.com\/health-and-fitness\/guides\/health-connect\/develop\/metadata#device-type\">supported device types<\/a> include Consumer Medical Devices (e.g., Continuous Glucose Monitors, Blood Pressure Cuffs), Glasses (for smart glasses and head-mounted optical devices), Hearables (for earbuds, headphones, and hearing aids with sensing capabilities), and Fitness Machines (for stationary and outdoor equipment). This expansion aims to enhance data representation by specifying the source hardware.<\/p>\n<p>You are encouraged to upgrade to the 1.1.0 library, review the official documentation and <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/health-connect\">release notes<\/a> for further details, and submit feedback or report issues via the <a href=\"https:\/\/issuetracker.google.com\/issues\/new?component=1676744&amp;template=2072671\">public issue\u00a0tracker<\/a>.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/health-connect-jetpack-v110-is-now.html\">Health Connect Jetpack v1.1.0 is now available!<\/a><\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/512\/0%2A6y5HplWjwG38idoZ.png?w=1280&#038;ssl=1\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/ml-kit-genai-prompt-api-alpha-release.html\">ML Kit\u2019s Prompt API: Unlock Custom On-Device Gemini Nano Experiences \u2728<\/a><\/h3>\n<p>ML Kit has released the Alpha version of its <a href=\"https:\/\/developers.google.com\/ml-kit\/genai\/prompt\/android\">GenAI Prompt API<\/a>, enabling custom on-device Gemini Nano experiences. This API allows you to send natural language and multimodal requests to Gemini Nano, supporting use cases requiring more control and flexibility for generative models.<\/p>\n<p>The Prompt API processes data locally, offering offline functionality and enhanced user privacy. Examples of its application include image understanding, intelligent document scanning, transforming data for UI, content prompting, content analysis, and information extraction.<\/p>\n<p>Implementation involves a few lines of code, using Generation.getClient().generateContent() with optional parameters like temperature, topK, candidateCount, and maxOutputTokens. Detailed examples are available in the official documentation and a GitHub\u00a0sample.<\/p>\n<p>The API performs optimally on the Pixel 10 device series, which features Gemini Nano (nano-v3), built on the same architecture as Gemma 3n. Developers without a Pixel 10 can prototype features locally using Gemma 3n. Refer to the device support documentation for a comprehensive list of compatible devices.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/ml-kit-genai-prompt-api-alpha-release.html\">ML Kit&#8217;s Prompt API: Unlock Custom On-Device Gemini Nano Experiences<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FPoqJh_60Wrw%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPoqJh_60Wrw&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FPoqJh_60Wrw%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/18b817ba22ef1b852f5a63fffa05ec1b\/href\">https:\/\/medium.com\/media\/18b817ba22ef1b852f5a63fffa05ec1b\/href<\/a><\/iframe><\/p>\n<figure><img data-recalc-dims=\"1\" decoding=\"async\" alt=\"\" src=\"https:\/\/i0.wp.com\/cdn-images-1.medium.com\/max\/1024\/0%2AobJyZU48JJqWkAAy.png?w=1280&#038;ssl=1\"><\/figure>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/kakao-mobility-uses-gemini-nano-on.html\">Kakao Mobility utilized Gemini Nano via ML Kit\u2019s GenAI Prompt API<\/a> for two main functions:<\/p>\n<ul>\n<li><strong>Parking Assistance:<\/strong> It uses multimodal capabilities to detect improperly parked bikes and scooters on yellow tactile paving, reducing server costs and enhancing user privacy compared to cloud-based image recognition.<\/li>\n<li><strong>Improved Address Entry:<\/strong> For parcel delivery, it streamlines entity extraction from natural language order requests, which eliminated error-prone manual address entry by\u00a0drivers.<\/li>\n<\/ul>\n<p>The implementation of Gemini Nano on-device led\u00a0to:<\/p>\n<ul>\n<li><strong>Cost savings<\/strong> by shifting AI processing from the\u00a0cloud.<\/li>\n<li><strong>Enhanced user privacy<\/strong> by keeping sensitive location data on the\u00a0device.<\/li>\n<li><strong>Reduced order completion time<\/strong> for delivery orders by\u00a024%.<\/li>\n<li><strong>Increased conversion rates<\/strong> for new users by 45% and existing users by\u00a06%.<\/li>\n<li><strong>Over 200% increase<\/strong> in AI-powered orders during peak\u00a0seasons.<\/li>\n<li><strong>Reduced developer effort<\/strong> and shortened development time.<\/li>\n<\/ul>\n<p>You can use ML Kit\u2019s GenAI Prompt API to integrate on-device AI capabilities like Gemini Nano into your applications.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/kakao-mobility-uses-gemini-nano-on.html\">Kakao Mobility uses Gemini Nano on-device to reduce costs and boost call conversion by 45%<\/a><\/p>\n<h3><a href=\"https:\/\/android-developers.googleblog.com\/\">Articles \ud83d\udcda<\/a><\/h3>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/explore-ai-on-android-with-our-sample.html\">Explore AI on Android with Our Sample Catalog App\u00a0\ud83e\udd16<\/a><\/h4>\n<p>The Android team has launched a redesigned, open-source <a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/explore-ai-on-android-with-our-sample.html\">Android AI Sample Catalog app<\/a> on GitHub to showcase various AI-enabled features using both on-device (<a href=\"https:\/\/developers.google.com\/ml-kit\/genai\">ML Kit GenAI API<\/a> with Gemini Nano) and cloud (<a href=\"https:\/\/firebase.google.com\/docs\/ai-logic\/get-started?platform=android\">Firebase AI Logic SDK<\/a>) models. The catalog includes samples for tasks like image generation (Imagen), on-device text summarization, a chatbot for image editing (Gemini 3 Pro Image model), on-device image description, a voice-controlled to-do list, and on-device rewrite assistance. The app features a new Material 3 design and provides structured code for easy integration into your own projects.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/explore-ai-on-android-with-our-sample.html\">Explore AI on Android with Our Sample Catalog App<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/learn-about-our-newest-jetpack.html\">Learn about our newest Jetpack Navigation library with the Nav3 Spotlight Week\u00a0\ud83c\udf1f<\/a><\/h4>\n<p>We had a <a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/learn-about-our-newest-jetpack.html\">Nav3 Spotlight Week<\/a> to help you learn and integrate the library into your app. Nav3 can assist in reducing technical debt, improving separation of concerns, accelerating feature development, and supporting new form\u00a0factors.<\/p>\n<p>The week featured daily\u00a0content:<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\/basics\"><strong>API Overview<\/strong><\/a> explores core APIs like NavDisplay, NavEntry, and entryProvider, including a coding walkthrough video.<\/li>\n<li><a href=\"https:\/\/youtu.be\/agSU7nXuDIQ\"><strong>Animations<\/strong><\/a> demonstrates how to set custom animations for screen transitions and override them for individual screens, with accompanying documentation and\u00a0recipes.<\/li>\n<li><a href=\"https:\/\/youtu.be\/gjqQXINuc8Q\"><strong>Deep links<\/strong><\/a> covers creating deep links with various code recipes, offering a guide and both <a href=\"https:\/\/github.com\/android\/nav3-recipes\/tree\/main\/app\/src\/main\/java\/com\/example\/nav3recipes\/deeplink\/basic\">basic<\/a> and <a href=\"https:\/\/github.com\/android\/nav3-recipes\/tree\/main\/app\/src\/main\/java\/com\/example\/nav3recipes\/deeplink\/advanced\">advanced<\/a> examples for parsing intents and synthetic back stacks. The Now in Android sample has also migrated to\u00a0Nav3.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\/modularize\"><strong>Modularization<\/strong><\/a> focuses on modularizing navigation code to avoid circular dependencies and using dependency injection and extension functions for feature\u00a0modules.<\/li>\n<li><a href=\"https:\/\/youtube.com\/live\/JsugLEM6po0?feature=share\"><strong>Ask Me Anything<\/strong><\/a> was a live session where the community submitted questions using the #AskAndroid tag on BlueSky, LinkedIn, and\u00a0X.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/learn-about-our-newest-jetpack.html\">Learn about our newest Jetpack Navigation library with the Nav3 Spotlight Week<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/weareplay-solving-dinner-dilemma-how.html\">#WeArePlay: Solving the dinner dilemma\u200a\u2014\u200ahow DELISH KITCHEN empowers 13 million home cooks\u00a0\ud83c\udf72<\/a><\/h4>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/weareplay-solving-dinner-dilemma-how.html\">#WeArePlay spotlights DELISH KITCHEN<\/a> co-founder Chiharu and her app, which provides 55,000 video recipes to over 13 million Japanese users to solve the \u201cdinner dilemma.\u201d Google Play supports the app\u2019s growth, offering distribution to Android users, developer tools, and feature campaigns. Future plans for you to note include an AI-powered cooking assistant, a new health management app, and supermarket partnerships.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/weareplay-solving-dinner-dilemma-how.html\">#WeArePlay: Solving the dinner dilemma &#8211; how DELISH KITCHEN empowers 13 million home cooks<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FECvKvhe3GgU%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DECvKvhe3GgU&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FECvKvhe3GgU%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/06e3bd45e1117251eb9b6a667c259eca\/href\">https:\/\/medium.com\/media\/06e3bd45e1117251eb9b6a667c259eca\/href<\/a><\/iframe><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/leveling-guide-for-your-performance.html\">Leveling Guide for your Performance Journey\u00a0\ud83d\udcc8<\/a><\/h4>\n<p>The Android Developers Blog published a \u201cLeveling Guide for your Performance Journey,\u201d outlining five stages for optimizing app performance.<\/p>\n<ol>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2025\/11\/leveling-guide-for-your-performance.html#level-one\"><strong>Level 1: Play Console Field Monitoring<\/strong><br \/><\/a>Use <a href=\"https:\/\/play.google.com\/console\/developers\/app\/vitals\/metrics\/details?metric=USER_PERCEIVED_ANRS&amp;days=28\">Android Vitals within the Play Console<\/a> to monitor automatically collected field data, including crash rate, ANR rate, and excessive battery\u00a0usage.<\/li>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2025\/11\/leveling-guide-for-your-performance.html#level-two\"><strong>Level 2: App Performance Score Action Items<\/strong><br \/><\/a>Start with the<a href=\"https:\/\/developer.android.com\/topic\/performance\/app-score#static-score\"> Static Performance Score<\/a> (configuration and tooling changes like R8 optimization, Baseline Profiles, and Startup Profiles) before moving to a <a href=\"https:\/\/developer.android.com\/topic\/performance\/app-score%23dynamic-score\">dynamic assessment<\/a> to validate improvements on a real device, measuring startup time and rendering performance.<\/li>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2025\/11\/leveling-guide-for-your-performance.html#level-three\"><strong>Level 3: Local Performance Test Frameworks<\/strong><br \/><\/a>Integrate automated testing with frameworks like <a href=\"https:\/\/developer.android.com\/topic\/performance\/benchmarking\/macrobenchmark-overview\">Macrobenchmark<\/a> (for startup time, dropped frames) and <a href=\"https:\/\/developer.android.com\/training\/testing\/other-components\/ui-automator\">UiAutomator<\/a> (for simulating user interactions).<\/li>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2025\/11\/leveling-guide-for-your-performance.html#level-four\"><strong>Level 4: Trace Analysis Tools<\/strong><br \/><\/a>Use deep analysis tools like Perfetto to capture and analyze the entire device state, including kernel scheduling and system services, to provide context for performance issues. You can record traces via <a href=\"https:\/\/developer.android.com\/topic\/performance\/tracing\/on-device\">developer options<\/a>, <a href=\"https:\/\/developer.android.com\/studio\/profile\">Android Studio CPU Profiler<\/a>, or the <a href=\"https:\/\/perfetto.dev\/docs\/getting-started\/system-tracing\">Perfetto UI<\/a>, then load and analyze them to debug jank, slow startup, and excessive battery\/CPU usage.<\/li>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2025\/11\/leveling-guide-for-your-performance.html#level-five\"><strong>Level 5: Custom Performance Tracking Framework<\/strong><br \/><\/a> For teams with dedicated resources, you can build a custom performance tracking framework using Android APIs like ApplicationStartInfo (API 35), ProfilingManager (API 35), and ApplicationExitInfo (API 30) to understand why your app process died (e.g., native crashes, ANRs, out-of-memory kills).<\/li>\n<\/ol>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/leveling-guide-for-your-performance.html\">Leveling Guide for your Performance Journey<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/stronger-threat-detection-simpler.html\">Stronger threat detection, simpler integration: Protect your growth with the Play Integrity API\u00a0\ud83d\udd12<\/a><\/h4>\n<p>The <a href=\"https:\/\/developer.android.com\/google\/play\/integrity\/overview\">Play Integrity API<\/a> <a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/stronger-threat-detection-simpler.html\">has received updates aimed at improving threat detection and simplifying integration<\/a>. It verifies that user interactions originate from your unmodified app on a certified Android device installed via Google Play, resulting in an average of <strong>80% lower unauthorized usage<\/strong> for apps utilizing its features.<\/p>\n<p>The API provides various verdicts to detect specific threats, including checks\u00a0for:<\/p>\n<ul>\n<li><strong>App Status:<\/strong> If the user installed or paid for the app via Google Play (<strong>accountDetails<\/strong>) and if the app binary is unmodified (<strong>appIntegrity<\/strong>).<\/li>\n<li><strong>Device Status:<\/strong> If the app runs on a genuine Play Protect certified Android device (<strong>deviceIntegrity<\/strong>), if the device has recent security updates (<strong>MEETS_STRONG_INTEGRITY<\/strong>), and if Google Play Protect is active and no risky apps are present (<strong>playProtectVerdict<\/strong>).<\/li>\n<li><strong>Security Risks:<\/strong> If risky apps are running that could capture the screen or control the device (<strong>appAccessRiskVerdict<\/strong>).<\/li>\n<\/ul>\n<p>Improvements also focus on user recovery through new Play in-app remediation prompts.<\/p>\n<p>Other integrity solutions include Google Play\u2019s <a href=\"https:\/\/support.google.com\/googleplay\/android-developer\/answer\/10183279\">automatic protection<\/a> (installer checks, advanced anti-tamper protection), <a href=\"https:\/\/developer.android.com\/privacy-and-security\/security-key-attestation\">Android platform key attestation<\/a> (which Play Integrity API leverages, with direct implementers needing to prepare for root certificate rotation in February 2026), <a href=\"https:\/\/firebase.google.com\/docs\/app-check\">Firebase App Check<\/a>, and <a href=\"https:\/\/cloud.google.com\/recaptcha-enterprise\">reCAPTCHA Enterprise<\/a>.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/stronger-threat-detection-simpler.html\">Stronger threat detection, simpler integration: Protect your growth with the Play Integrity API<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/how-uber-is-reducing-manual-logins-by-4.html\">How Uber is reducing manual logins by 4 million per year with the Restore Credentials API\u00a0\ud83d\udcf2<\/a><\/h4>\n<p>Uber has reduced manual logins by an estimated 4 million per year by integrating the <a href=\"https:\/\/developer.android.com\/identity\/sign-in\/restore-credentials\">Restore Credentials<\/a> API into its rider app. This feature enables a seamless transition for users when they switch to a new device, eliminating the need for re-authentication.<\/p>\n<p>A five-week A\/B experiment confirmed the positive impact, demonstrating:<\/p>\n<ul>\n<li>A 3.4% decrease in manual logins (SMS OTP, passwords, social\u00a0login).<\/li>\n<li>A 1.2% reduction in expenses related to SMS OTP\u00a0logins.<\/li>\n<li>A 0.575% increase in the rate of devices successfully reaching the app\u2019s home\u00a0screen.<\/li>\n<li>A 0.614% rise in devices with completed trips.<\/li>\n<\/ul>\n<p>Interested in implementing <a href=\"https:\/\/developer.android.com\/identity\/sign-in\/restore-credentials\">Restore Credentials<\/a>? You can consult <a href=\"https:\/\/github.com\/android\/identity-samples\">sample code<\/a>, <a href=\"https:\/\/developer.android.com\/identity\/sign-in\/credential-manager\">documentation<\/a>, a <a href=\"https:\/\/codelabs.developers.google.com\/credential-manager-api-for-android#0\">codelab<\/a>, and validate your integration using new features in <a href=\"https:\/\/developer.android.com\/studio\/releases?_gl=1*yzmh3l*_up*MQ..&amp;gclid=CjwKCAiAt8bIBhBpEiwAzH1w6fR90Bfyvr4pM57qxapc5Gqj9O7gQ2V6Jgr9AQjWOEinAJrzTVzg9xoC9E0QAvD_BwE&amp;gclsrc=aw.ds&amp;gbraid=0AAAAAC-IOZl-aH6KKZCkBUS3NwKxqyaUj\">Android Studio\u00a0Otter<\/a>.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/how-uber-is-reducing-manual-logins-by-4.html\">How Uber is reducing manual logins by 4 million per year with the Restore Credentials API<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/configure-and-troubleshoot-r8-keep-rules.html\">Configure and troubleshoot R8 Keep Rules\u00a0\ud83d\udd12<\/a><\/h4>\n<p>R8 is the primary tool for shrinking and optimizing Android apps. <strong>Keep Rules<\/strong> are essential because R8 cannot predict dynamic code (like reflection), which could lead to unintended code\u00a0removal.<\/p>\n<p><strong>Key takeaways for Keep\u00a0Rules:<\/strong><\/p>\n<ul>\n<li><strong>Location:<\/strong> Write rules in a proguard-rules.pro file, always using proguard-android-optimize.txt.<\/li>\n<li><strong>Best Practice:<\/strong> Write narrow, specific rules, and use annotations or common ancestors for scalability.<\/li>\n<li><strong>Avoid:<\/strong> Global options (like -dontoptimize) and overly broad rules, as they negate R8\u2019s performance benefits.<\/li>\n<li><strong>Troubleshooting:<\/strong> Use -printconfiguration to see all merged rules and -whyareyoukeeping to understand why a class is being preserved.<\/li>\n<li><strong>Goal:<\/strong> Use modern libraries with code generation instead of reflection to reduce the need for Keep Rules entirely.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/configure-and-troubleshoot-r8-keep-rules.html\">Configure and troubleshoot R8 Keep Rules<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FA0I6pNSM14o%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DA0I6pNSM14o&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FA0I6pNSM14o%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/1bf73a6e311227404a606b8526f03522\/href\">https:\/\/medium.com\/media\/1bf73a6e311227404a606b8526f03522\/href<\/a><\/iframe><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FX3-9KaeL76U%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fshorts%2FX3-9KaeL76U&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FX3-9KaeL76U%2Fhq2.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"640\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/74bd69139e892547555a0116254c1bde\/href\">https:\/\/medium.com\/media\/74bd69139e892547555a0116254c1bde\/href<\/a><\/iframe><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/gemini-3-is-now-available-for-ai.html\">Gemini 3 is now available for AI assistance in Android Studio\u00a0\ud83d\ude80<\/a><\/h4>\n<p>The Gemini 3 Pro model is now available for AI assistance, providing new coding and agentic features in the latest version of <strong>Android Studio\u00a0Otter<\/strong>.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/gemini-3-is-now-available-for-ai.html\">Gemini 3 is now available for AI assistance in Android Studio<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F3DKTBrh0Y_g%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fshorts%2F3DKTBrh0Y_g&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F3DKTBrh0Y_g%2Fhq2.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"640\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/1d51e9c0dfd0b12cbfde5b0ff8a0be1b\/href\">https:\/\/medium.com\/media\/1d51e9c0dfd0b12cbfde5b0ff8a0be1b\/href<\/a><\/iframe><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/how-reddit-used-r8-optimizer-for-high.html\">How Reddit used the R8 optimizer for high impact performance improvements \ud83d\ude80<\/a><\/h4>\n<p>Reddit significantly improved its app\u2019s performance by implementing the <strong>R8 optimizer<\/strong> in full mode, which took less than two\u00a0weeks.<\/p>\n<p>Key results from the implementation:<\/p>\n<p><strong>Real-World Metrics (Android Vitals\/Crashlytics):<\/strong><\/p>\n<ul>\n<li><strong>40% faster cold startup\u00a0time<\/strong><\/li>\n<li><strong>30% reduction<\/strong> in \u201cApplication Not Responding\u201d (ANR)\u00a0errors<\/li>\n<li><strong>25% improvement<\/strong> in frame rendering<\/li>\n<li><strong>14% decrease<\/strong> in app\u00a0size<\/li>\n<\/ul>\n<p><strong>Controlled Testing (Macrobenchmark):<\/strong><\/p>\n<ul>\n<li><strong>55% faster app\u00a0startup<\/strong><\/li>\n<li><strong>18% quicker<\/strong> time for users to begin\u00a0browsing<\/li>\n<\/ul>\n<p>You can enable R8 by setting minifyEnabled and shrinkResources to true in your release build type within app\/build.gradle.kts. This process should be followed by holistic end-to-end testing, and you may need to define keep rules to prevent R8 from modifying essential parts of your\u00a0code.<\/p>\n<ul>\n<li><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/how-reddit-used-r8-optimizer-for-high.html\">How Reddit used the R8 optimizer for high impact performance improvements<\/a><\/li>\n<li><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/use-r8-to-shrink-optimize-and-fast.html\">Use R8 to shrink, optimize, and fast-track your app<\/a><\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FTTndueum4Yo%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fshorts%2FTTndueum4Yo&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FTTndueum4Yo%2Fhq2.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"640\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/27c8617a27028077802a9b91781c7cd3\/href\">https:\/\/medium.com\/media\/27c8617a27028077802a9b91781c7cd3\/href<\/a><\/iframe><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/weareplay-meet-game-creators-who.html\">#WeArePlay: Meet the game creators who entertain, inspire and spark imagination \ud83c\udfae<\/a><\/h4>\n<p>The latest #WeArePlay stories highlight game creators who develop for Google Play. These stories feature developers who entertain players, inspire new ideas, and spark imagination through their creations.<\/p>\n<p>You can learn\u00a0about:<\/p>\n<ul>\n<li><strong>Ralf and Matt<\/strong> from <a href=\"https:\/\/play.google.com\/store\/apps\/dev?id=4755087643347583553&amp;gl=us\">Vector Unit<\/a>, creators of <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.vectorunit.purple.googleplay&amp;gl=us\"><em>Beach Buggy Racing<\/em><\/a>. Their kart racing game has over 557 million downloads and has received community engagement for its console-quality feel on mobile. They continue to update the game and are prototyping new projects.<\/li>\n<li><strong>Camilla<\/strong> from Clover-Fi Games, who developed <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.cloverfi.windowgarden&amp;gl=ph\"><em>Window Garden<\/em><\/a>. This lofi idle game, which encourages players to care for digital plants and decorate spaces, has surpassed 1 million downloads and received a \u201cBest of 2024\u201d award from Google Play. Camilla aims to expand her studio and collaborate with other creatives.<\/li>\n<li><strong>Rodrigo<\/strong> from Kolb Apps, the founder behind <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=br.com.rodrigokolb.realdrum&amp;gl=br\"><em>Real Drum<\/em><\/a>. This virtual drum set app offers a realistic experience, allowing users to play drums and cymbals. It has accumulated over 437 million downloads, making music accessible to many, and Rodrigo plans to release new apps for children.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/weareplay-meet-game-creators-who.html\">#WeArePlay: Meet the game creators who entertain, inspire and spark imagination<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/weareplay-meet-people-making-apps-games.html\">#WeArePlay: Meet the people making apps &amp; games to improve your health\u00a0\u2764\ufe0f<\/a><\/h4>\n<p>This week\u2019s #WeArePlay series highlights applications and games on Google Play that focus on health and wellness. You can learn\u00a0about:<\/p>\n<ul>\n<li><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=droom.sleepIfUCan&amp;hl=en_GB&amp;gl=kr\"><strong>Alarmy<\/strong><\/a> (Delightroom, Seoul), an app for heavy sleepers that uses challenge-based alarms, including math problems and photo missions, and is expanding into sleep tracking and general wellness.<\/li>\n<li><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=betwixt.web.app&amp;hl=en_GB&amp;gl=gb\"><strong>Betwixt<\/strong><\/a> (Mind Monsters Games, Cambridge, UK), an interactive adventure game designed to reduce anxiety by combining storytelling with evidence-based techniques.<\/li>\n<li><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.mapmyfitness.android2&amp;hl=en_GB\"><strong>MapMyFitness<\/strong><\/a> (MapMyFitness, Boulder, CO, U.S.), an app for runners and cyclists to map routes and track training, offering features like adaptive training plans, guided workouts, and live safety tracking.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/weareplay-meet-people-making-apps-games.html\">#WeArePlay: Meet the people making apps &amp; games to improve your health<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/android-developer-verification-early.html\">Android developer verification: Early access starts now as we continue to build with your feedback\u00a0\ud83d\udee1\ufe0f<\/a><\/h4>\n<p><a href=\"https:\/\/android-developers.googleblog.com\/2025\/08\/elevating-android-security.html\">Android developer verification<\/a> has begun its early access phase. This initiative introduces verification requirements as an additional layer of security to protect Android users from scams and digital fraud, particularly with sideloaded apps. The system aims to deter malicious app distribution by linking apps to verified identities.<\/p>\n<p>In response to community feedback, changes address specific developer needs:<\/p>\n<ul>\n<li>You, <strong>as a student or hobbyist<\/strong>, will have a dedicated account type, enabling distribution to a limited number of devices without full verification.<\/li>\n<li>For experienced users, a <strong>new advanced flow<\/strong> is being developed to permit the installation of unverified apps. This flow will include clear warnings about risks and is designed to resist coercion.<\/li>\n<\/ul>\n<p>You can find a <a href=\"https:\/\/youtu.be\/jEATR5sF5Lo\">video walkthrough<\/a> and detailed <a href=\"https:\/\/developer.android.com\/developer-verification\/guides\/early-access\">guides<\/a> for the new Android Developer Console experience.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/android-developer-verification-early.html\">Android developer verification: Early access starts now as we continue to build with your feedback<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FjEATR5sF5Lo%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DjEATR5sF5Lo&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FjEATR5sF5Lo%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/de308484e541e79c05e4f9ea8dad6c1d\/href\">https:\/\/medium.com\/media\/de308484e541e79c05e4f9ea8dad6c1d\/href<\/a><\/iframe><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/raising-bar-on-battery-performance.html\">Raising the bar on battery performance: excessive partial wake locks metric is now out of beta\u00a0\ud83d\udd0b<\/a><\/h4>\n<p>The \u201cexcessive partial wake locks\u201d metric has moved out of beta and is now generally available as a new core vitals metric in Android vitals. This metric, co-developed with Samsung, identifies user sessions where an app holds more than two cumulative hours of non-exempt wake locks within a 24-hour\u00a0period.<\/p>\n<p>If your app surpasses a bad behavior threshold\u200a\u2014\u200a5% of user sessions being excessive over 28 days\u200a\u2014\u200ait may be excluded from prominent Google Play discovery surfaces and a warning may appear on its store listing, starting March 1,\u00a02026.<\/p>\n<p>Android vitals now features a wake lock names table to help you pinpoint excessive wake locks by name and duration, particularly those with P90 or P99 durations over 60 minutes. You are encouraged to review your app\u2019s performance in Android vitals and consult the updated documentation for best practices.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/raising-bar-on-battery-performance.html\">Raising the bar on battery performance: excessive partial wake locks metric is now out of beta<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/redbus-gains-57-deeper-insights-into.html\">redBus uses Gemini Flash via Firebase AI Logic to boost the length of customer reviews by 57%\u00a0\ud83d\udde3\ufe0f\u2728<\/a><\/h4>\n<p>redBus utilized Gemini Flash via Firebase AI Logic to revamp its customer review system, resulting in a 57% increase in review length. The company\u2019s previous text-based review process presented challenges such as language barriers and a lack of detailed feedback.<\/p>\n<p>To address this, redBus implemented a voice-first approach, enabling users to submit reviews in their native language. Gemini Flash transcribes and translates speech, performs sentiment analysis, and generates star ratings, relevant tags, and summaries from these voice inputs. Firebase AI Logic facilitated the frontend team\u2019s independent development and launch of this feature within 30 days, removing the need for complex backend implementation. The solution employs structured output to ensure well-formed JSON responses from the AI model. redBus plans to continue exploring on-device generative AI and will use Google AI Studio for prompt iteration.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/redbus-gains-57-deeper-insights-into.html\">redBus uses Gemini Flash via Firebase AI Logic to boost the length of customer reviews by 57%<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FPIsElP6DbFI%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPIsElP6DbFI&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FPIsElP6DbFI%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/09cd7d1f65a8169230a0faca741bf26d\/href\">https:\/\/medium.com\/media\/09cd7d1f65a8169230a0faca741bf26d\/href<\/a><\/iframe><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/new-tools-and-programs-to-accelerate.html\">New tools and programs to accelerate your success on Google Play\u00a0\ud83d\ude80<\/a><\/h4>\n<p>Google Play has released new tools and programs designed to streamline your development and accelerate your app\u2019s growth. You can now validate deep links directly within Play Console using a built-in emulator. A new Gemini-powered localization service offers no-cost translations for app strings, automatically translating new app bundles into selected languages while allowing you to preview, edit, or disable\u00a0them.<\/p>\n<p>On the Statistics page, a new Gemini-powered feature generates automated chart summaries to help you understand data trends and provides access to reporting for screen reader users. The Play Console now includes a \u201cGrow users\u201d overview page, offering a tailored view to acquire new users and expand your reach. A new \u201cYou\u201d tab on the Play Store is available for re-engagement; you can integrate with Engage SDK to help users resume content or get personalized recommendations. Game developers can use this tab to showcase in-game events, content updates, and offers, with promotional content, YouTube video listings, and Play Points coupons available.<\/p>\n<p>For monetization, you can now configure one-time products with more flexibility, including limited-time rentals and pre-orders through an early access program, and manage your catalog more efficiently with a new taxonomy. A new Play Points page in Play Console provides reporting on the revenue, buyers, and acquisitions generated by both your developer-created and Google-funded Play Points promotions.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/new-tools-and-programs-to-accelerate.html\">New tools and programs to accelerate your success on Google Play<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/how-calm-reimagined-mindfulness-for.html\">How Calm Reimagined Mindfulness for Android XR\u00a0\ud83c\udf0c<\/a><\/h4>\n<p>Calm has brought its mindfulness content to Android XR. Its engineering team developed functional XR orbiter menus in one day and a core XR experience within two weeks. This involved extending existing Android development, including leveraging Jetpack Compose and reusing codebase components such as backend and media playback.<\/p>\n<p>The team utilized Android XR design guides and evolved features like the \u201cImmersive Breathe Bubble\u201d for 3D breathwork and \u201cImmersive Scene Experiences\u201d for ambient environments. The creative workflow involved concept art, 3D models with human-scale reference, and in-headset testing, with the Android XR emulator available as a testing\u00a0option.<\/p>\n<p>To build for XR, you can integrate Jetpack XR APIs into existing Android apps and reuse code to create prototypes quickly. Resources for building on the Android XR platform are available at <a href=\"http:\/\/developer.android.com\/xr\">developer.android.com\/xr<\/a>.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/how-calm-reimagined-mindfulness-for.html\">How Calm Reimagined Mindfulness for Android XR<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FyUx8T06arKQ%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DyUx8T06arKQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FyUx8T06arKQ%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/d71e9f223cb76acf4f5dd1c635c5098f\/href\">https:\/\/medium.com\/media\/d71e9f223cb76acf4f5dd1c635c5098f\/href<\/a><\/iframe><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/introducing-cahier-new-android-github.html\">Introducing Cahier: A new Android GitHub sample for large screen productivity and creativity \u270d\ufe0f<\/a><\/h4>\n<p>Android Developers has introduced Cahier, a new GitHub sample application designed to showcase best practices for building productivity and creativity apps optimized for large\u00a0screens.<\/p>\n<p>Cahier demonstrates how you can develop versatile note-taking applications that combine text, freeform drawings using the Ink API (now in beta), and image attachments. Key features include fluid content integration with drag and drop for importing and sharing, and note organization capabilities.<\/p>\n<p>The sample utilizes an offline-first architecture with Room and supports multi-window and multi-instance capabilities, including desktop windowing. Its user interface adapts to various screen sizes and orientations, including phones, tablets, and foldable devices, by employing ListDetailPaneScaffold and NavigationSuiteScaffold from the material3-adaptive library.<\/p>\n<p>Cahier also illustrates deep system integration, showing you how to enable your app to become the default note-taking app on Android 14 and higher by responding to Notes intents. Lenovo has enabled Notes Role support on its tablets running Android 15 and above, allowing note-taking apps to be set as default on these devices. The sample provides comprehensive input support, including stylus, keyboard shortcuts, and mouse\/trackpad interactions.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/introducing-cahier-new-android-github.html\">Introducing Cahier: A new Android GitHub sample for large screen productivity and creativity<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/material-3-adaptive-120-is-stable.html\">Material 3 Adaptive 1.2.0 is stable\u00a0\ud83d\udcd0<\/a><\/h4>\n<p>Material 3 Adaptive 1.2.0 is now stable, building on previous versions with expanded support for window size classes and new strategies for display pane placement.<\/p>\n<p>The release introduces support for Large (L) and Extra-large (XL) breakpoints for width window size classes, enabled by setting supportLargeAndXLargeWidth = true in your currentWindowAdaptiveInfo() call.<\/p>\n<p>New adaptive strategies, reflow and levitate, are available for ListDetailPaneScaffold and SupportingPaneScaffold. The reflow strategy rearranges panes based on window size or aspect ratio, moving a second pane to the side or underneath. The levitate strategy docks content and offers customization for draggability, resizability, and background scrim. Both strategies can be declared in the Navigator constructor using the adaptStrategies parameter.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/material-3-adaptive-120-is-stable.html\">Material 3 Adaptive 1.2.0 is stable<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/5-things-you-need-to-know-about.html\">5 things you need to know about publishing and distributing your app for Android XR\u00a0\u2699\ufe0f<\/a><\/h4>\n<p>When publishing and distributing your app for Android XR, consider five key\u00a0areas:<\/p>\n<ol>\n<li><strong>Uphold quality with Android XR app quality guidelines.<\/strong> Ensure your app delivers a safe, comfortable, and performant user experience by following guidelines that cover camera movement, frame rates, visual elements (like strobing), performance metrics, and recommended minimum interactive target sizes for eye-tracking and hand-tracking inputs.<\/li>\n<li><strong>Configure your app manifest correctly.<\/strong> In your AndroidManifest.xml, specify android.software.xr.api.spatial for apps using the Jetpack XR SDK or android.software.xr.api.openxr for apps using OpenXR or Unity. Set android:required=\u201dtrue\u201d accordingly for dedicated XR tracks or false for mobile tracks. Also, set the android.window.PROPERTY_XR_ACTIVITY_START_MODE on your main activity to define the default user environment (Home Space, Full Space Managed, or Full Space Unmanaged). Check for optional hardware features dynamically at runtime using PackageManager.hasSystemFeature() instead of setting them as required in the manifest to avoid limiting your audience.<\/li>\n<li><strong>Use Play Asset Delivery (PAD) to deliver large assets.<\/strong> For immersive apps with large assets, use PAD\u2019s install-time, fast follow, or on-demand delivery modes. Android XR apps have an increased cumulative asset pack limit of 30 GB. Unity developers can integrate Unity Addressables with\u00a0PAD.<\/li>\n<li><strong>Showcase your app with spatial video previews.<\/strong> Provide a 180\u00b0, 360\u00b0, or stereoscopic video asset to offer an immersive 3D preview on the Play Store for users browsing on XR headsets.<\/li>\n<li><strong>Choose your Google Play release track.<\/strong> You can publish to the mobile release track if you are adding spatial XR features to an existing mobile app and can bundle XR features into your existing Android App Bundle (AAB). Alternatively, you can publish to the dedicated Android XR release track for new XR apps or XR versions that are functionally distinct, which restricts visibility to Android XR devices supporting spatial or OpenXR features.<\/li>\n<\/ol>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/5-things-you-need-to-know-about.html\">5 things you need to know about publishing and distributing your app for Android XR<\/a><\/p>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/bringing-androidify-to-xr-with-jetpack.html\">Bringing Androidify to XR with the Jetpack XR SDK\u00a0\ud83e\udd7d<\/a><\/h4>\n<p>The Android Developers Blog details how the <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/androidify-building-ai-driven-experiences-jetpack-compose-gemini-camerax.html\">Androidify app<\/a> was adapted for Extended Reality (XR) using the <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\">Jetpack XR SDK<\/a>, coinciding with the launch of <a href=\"https:\/\/android-developers.googleblog.com\/2025\/10\/giving-your-apps-new-home-on-samsung.html\">Samsung Galaxy XR<\/a> powered by Android\u00a0XR.<\/p>\n<p>Originally designed with <a href=\"https:\/\/developer.android.com\/adaptive-apps\">adaptive layouts<\/a> for phones, foldables, and tablets, Androidify is compatible with Android XR without modifications. For a differentiated XR experience, developers created specific spatial\u00a0layouts.<\/p>\n<p>Key XR concepts include <a href=\"https:\/\/developer.android.com\/design\/ui\/xr\/guides\/foundations#modes\"><strong>Home Space<\/strong><\/a>, which allows multitasking with multiple app windows in a virtual environment, and <a href=\"https:\/\/developer.android.com\/design\/ui\/xr\/guides\/foundations#modes\"><strong>Full Space<\/strong><\/a>, where an app uses the full spatial features of Android XR. You are advised to support both\u00a0modes.<\/p>\n<p>Designing for XR involved organizing UI elements using containment, embracing spatial UI elements that adjust to the user, and adapting camera layouts for headsets. Design tips for spatial UI include allowing uncontained elements, removing background surfaces, motivating with motion, and choosing an anchor element for\u00a0content.<\/p>\n<p>For development, the <a href=\"https:\/\/developer.android.com\/develop\/xr\/jetpack-xr-sdk\/getting-started\">Jetpack XR Compose dependency<\/a> was added. You can transition to Full Space by checking for XR spatial features using LocalSpatialConfiguration.current.hasXrSpatialFeature and\u00a0!LocalSpatialCapabilities.current.isSpatialUiEnabled. Spatial UI elements like SpatialPanel, SubspaceModifier, and Orbiter enable the creation of XR layouts with existing 2D content. SpatialPanels can incorporate ResizePolicy and MovePolicy for user interaction, and hierarchical relationships allow grouped movement.<\/p>\n<p>To publish, include &lt;uses-feature android:name=\u201dandroid.software.xr.api.spatial\u201d android:required=\u201dfalse\u201d \/&gt; in your AndroidManifest.xml to signify XR-differentiated features. The same app binary can be distributed to both mobile and XR users, with options to add XR-specific screenshots or spatial video assets for immersive previews on the Play\u00a0Store.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/bringing-androidify-to-xr-with-jetpack.html\">Bringing Androidify to XR with the Jetpack XR SDK<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FYo_vSI0HgOs%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DYo_vSI0HgOs&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FYo_vSI0HgOs%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/6d3f613eba1492cb3448c1a11d04e167\/href\">https:\/\/medium.com\/media\/6d3f613eba1492cb3448c1a11d04e167\/href<\/a><\/iframe><\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/user\/androiddevelopers\">Videos \ud83d\udcf9<\/a><\/h3>\n<h4><a href=\"https:\/\/www.youtube.com\/shorts\/DgvwmaK0igs\">#WeArePlay: Miksapix Interactive\u200a\u2014\u200abringing ancient S\u00e1mi mythology and culture to gamers worldwide<\/a><\/h4>\n<p>Miksapix Interactive launched their game \u201cRaanaa\u201d on Google Play, leveraging S\u00e1mi mythology to preserve and share indigenous culture. This demonstrates a successful approach to niche content development and localization on the platform, with the game being translated into various S\u00e1mi languages.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FDgvwmaK0igs%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fshorts%2FDgvwmaK0igs&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FDgvwmaK0igs%2Fhq2.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"640\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/a51be358e8f2f4e48338152ddfeba4b9\/href\">https:\/\/medium.com\/media\/a51be358e8f2f4e48338152ddfeba4b9\/href<\/a><\/iframe><\/p>\n<h4><a href=\"https:\/\/www.youtube.com\/watch?v=hSsBAT0PbNs\">Building intelligent Android apps with\u00a0Gemini<\/a><\/h4>\n<p>Google is empowering you to build intelligent apps using Gemini AI, offering a comprehensive end-to-end AI stack. Key takeaways include:<\/p>\n<ul>\n<li><strong>Tools:<\/strong> AI Studio for prototyping, ML Kit GenAI APIs (Beta) for on-device inference (summarization, proofreading, image description, custom prompt API), and Firebase AI Logic SDK for cloud inference with production features (App Check, Remote Config, monitoring).<\/li>\n<li><strong>Models:<\/strong> On-device options like Gemini Nano and Gemma 3n; cloud models like Gemini Pro, Flash, and Flash-Lite. Specialized models include Nano Banana and Imagen for image generation.<\/li>\n<li><strong>New APIs:<\/strong> The Gemini Live API (Preview) enables real-time voice\/video interactions and features \u201cfunction calling\u201d for Gemini to invoke custom Kotlin functions within\u00a0apps.<\/li>\n<li><strong>Focus:<\/strong> You can choose between on-device (offline, private, no cost) and cloud (powerful, broad availability) AI approaches based on their app\u2019s\u00a0needs.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FhSsBAT0PbNs%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DhSsBAT0PbNs&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FhSsBAT0PbNs%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/32ad7cbbd1ae3699d2a36941b7499ac8\/href\">https:\/\/medium.com\/media\/32ad7cbbd1ae3699d2a36941b7499ac8\/href<\/a><\/iframe><\/p>\n<h4><a href=\"https:\/\/www.youtube.com\/watch?v=cjagE2Ivaro\">Building adaptive apps for\u00a0Android<\/a><\/h4>\n<p>It\u2019s time to build adaptive apps that optimally scale across diverse form factors (tablets, foldables, Chromebooks, etc.).<\/p>\n<p><strong>Key takeaways:<\/strong><\/p>\n<ul>\n<li><strong>Incentives:<\/strong> Play Store will prioritize adaptive apps in search\/features. By 2026, \u201cquality badging\u201d and form-factor-specific ratings will be introduced.<\/li>\n<li><strong>Platform Changes:<\/strong> Android 16 (SDK 34) will remove orientation, resize, and aspect ratio constraints on large screens, aiming to make 75% of top apps automatically adaptive in landscape.<\/li>\n<li><strong>Tools &amp; Resources:<\/strong> Leverage new\/improved Android Studio tools, including dedicated layout libraries (e.g., SlidingPaneLayout, ActivityEmbedding), enhanced emulators, design guidelines, and <strong>Window Size Classes<\/strong> for streamlined layout adaptation.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FcjagE2Ivaro%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DcjagE2Ivaro&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FcjagE2Ivaro%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/9408be223aadc0e3af4fe60f823236d1\/href\">https:\/\/medium.com\/media\/9408be223aadc0e3af4fe60f823236d1\/href<\/a><\/iframe><\/p>\n<h4><a href=\"https:\/\/www.youtube.com\/watch?v=t9rrsqfB2tM\">More customization in Material 3: the path to expressive apps<\/a><\/h4>\n<p>Material 3 Expressive is now available, offering new capabilities to build more premium, engaging, and expressive UIs.<\/p>\n<p>Key updates\u00a0include:<\/p>\n<ul>\n<li><strong>Enhanced Components:<\/strong> Flexible app bars, buttons with shape-morphing motion, a new FAB Menu (\u201cspeed dial\u201d), new loading and progress indicators, and revamped menu\/list\/slider components.<\/li>\n<li><strong>Adaptive UI:<\/strong> New Adaptive Navigation Bar and Rail seamlessly adapt to various window sizes and form factors, including foldables.<\/li>\n<li><strong>Style Enhancements:<\/strong> An expanded shape library (35 unique shapes), a physics-based motion system, richer dynamic colors, and emphasized typography with variable font\u00a0support.<\/li>\n<\/ul>\n<p>Crucially, these new features are available today for both <strong>Jetpack Compose and Android Views<\/strong>, ensuring bidirectional compatibility with existing Material 3 implementations. The update aims to improve clarity, usability, and user delight, as validated by extensive user research.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Ft9rrsqfB2tM%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dt9rrsqfB2tM&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Ft9rrsqfB2tM%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/791296c2e25223d8f46223bbf0109592\/href\">https:\/\/medium.com\/media\/791296c2e25223d8f46223bbf0109592\/href<\/a><\/iframe><\/p>\n<h4><a href=\"https:\/\/www.youtube.com\/watch?v=h25I0AJLJkc\">Building Androidify: an AI-powered Android experience<\/a><\/h4>\n<p>Androidify has been re-released as an open-source app, built with <strong>Jetpack Compose<\/strong>. It offers you a practical example of integrating <strong>Firebase AI Logic SDK<\/strong>, <strong>Gemini<\/strong>, and a fine-tuned <strong>Imagen<\/strong> model for AI features like image validation, captioning, and bot generation.<\/p>\n<p>Key takeaways include:<\/p>\n<ul>\n<li>Using <strong>ML Kit Subject Segmentation<\/strong> for features like sticker creation.<\/li>\n<li>Implementing modern UI\/UX with <strong>SharedTransitionLayout<\/strong> for smooth transitions.<\/li>\n<li>Integrating <strong>predictive back\u00a0support<\/strong>.<\/li>\n<li>Building a fully <strong>adaptive UI<\/strong> for phones, tablets, foldables, and Chromebooks from a single codebase.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fh25I0AJLJkc%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dh25I0AJLJkc&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fh25I0AJLJkc%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/018bfec0e1fdd822cf4770d9d110be79\/href\">https:\/\/medium.com\/media\/018bfec0e1fdd822cf4770d9d110be79\/href<\/a><\/iframe><\/p>\n<h4><a href=\"https:\/\/www.youtube.com\/watch?v=Gy-zgbZ-VL8\">Building for TV and cars with\u00a0Compose<\/a><\/h4>\n<p>Android apps using Jetpack Compose will benefit from significant performance improvements, including <strong>21% faster Time to First Frame<\/strong> and a <strong>76% reduction in\u00a0jank<\/strong>.<\/p>\n<p>New resources are available for TV and car app development:<\/p>\n<ul>\n<li><strong>TV:<\/strong> Leverage the dedicated Compose for TV library, with design guidance emphasizing clear focus indicators and a focus management codelab.<\/li>\n<li><strong>Cars:<\/strong> A new \u201cDesign for cars\u201d guide differentiates Android Auto and Automotive OS, outlines driving restrictions, defines app quality tiers (including making existing apps \u201cCar ready\u201d via Google Play\u00a0opt-in).<\/li>\n<\/ul>\n<p>Testing is also enhanced with new Android Automotive OS emulators, an early access program for Firebase Test Lab offering direct device access, and an AAOS image for the Pixel Tablet. Google champions adaptive app development with Compose for extensive code reuse across all Android form\u00a0factors.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FGy-zgbZ-VL8%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DGy-zgbZ-VL8&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FGy-zgbZ-VL8%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/17303449d90f688bc6fb7b1d468bec87\/href\">https:\/\/medium.com\/media\/17303449d90f688bc6fb7b1d468bec87\/href<\/a><\/iframe><\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/watch?v=5QuigdMfS3I\">Google Play PolicyBytes\u200a\u2014\u200aOctober 2025 policy\u00a0updates<\/a><\/h3>\n<p>Google Play\u2019s October 2025 policy updates bring several key changes for developers:<\/p>\n<ul>\n<li><strong>Age-Restricted Content:<\/strong> Apps facilitating dating, gambling, or real-money games <strong>must now use<\/strong> the \u201cRestrict Minor Access\u201d feature to block\u00a0minors.<\/li>\n<li><strong>Personal Loans (India):<\/strong> Apps must be on the Indian government\u2019s approved digital lending\u00a0list.<\/li>\n<li><strong>Health &amp; Medical Apps:<\/strong> EU medical device apps require regulatory info and will get a \u201cMedical Device\u201d label. Other health\/medical apps <strong>must include<\/strong> a disclaimer stating they are not medical\u00a0devices.<\/li>\n<li><strong>Subscriptions:<\/strong> Policy clarification emphasizes clear free trial cancellation and prominent display of total charges to avoid violations.<\/li>\n<li><strong>Appeals Process:<\/strong> A new 180-day appeal window is being introduced for account terminations.<\/li>\n<li><strong>Compliance Deadline:<\/strong> <strong>January 2026<\/strong> for these and other related policy\u00a0updates.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F5QuigdMfS3I%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D5QuigdMfS3I&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F5QuigdMfS3I%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/1643c3bc9a9ec77af79e30301df504fb\/href\">https:\/\/medium.com\/media\/1643c3bc9a9ec77af79e30301df504fb\/href<\/a><\/iframe><\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/watch?v=LlQW5j0JcCM\">Google Play Console: Streamlining workflows, from testing to\u00a0growth<\/a><\/h3>\n<p>The redesigned Google Play Console introduces key new features for Android developers:<\/p>\n<p><strong>Pre-launch Deep Link Testing:<\/strong> A new built-in emulator on the Deep links page allows developers to test deep links and visualize user experience <em>before<\/em>\u00a0launch.<\/p>\n<p><strong>Enhanced Monitoring:<\/strong> The \u201cMonitor and improve\u201d section provides actionable recommendations to address issues like ANR rates and slow warm-start times.<\/p>\n<p><strong>Gemini AI Integration:<\/strong><\/p>\n<ol>\n<li>Automatically summarizes app metric trends, highlighting performance changes.<\/li>\n<li>Offers high-quality, automated localization of app strings for global markets, improving upon traditional machine translation.<\/li>\n<\/ol>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FLlQW5j0JcCM%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DLlQW5j0JcCM&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FLlQW5j0JcCM%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/f8d7d17c0074bee77db52ad587e50766\/href\">https:\/\/medium.com\/media\/f8d7d17c0074bee77db52ad587e50766\/href<\/a><\/iframe><\/p>\n<h4><a href=\"https:\/\/www.youtube.com\/watch?v=WUxdpFas6HM\">Android Developer Story: Pocket FM cuts 50% in development time with Gemini in Android\u00a0Studio<\/a><\/h4>\n<p>Pocket FM significantly cut Android development time (50% for new features, 30% for existing) by integrating Gemini in Android Studio. For developers, this highlights Gemini\u2019s practical utility in generating code (like impression tracking), resolving complex issues (e.g., Media3 errors), and streamlining SDK upgrades by identifying dependencies, enabling engineers to focus on more complex development.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FWUxdpFas6HM%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DWUxdpFas6HM&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FWUxdpFas6HM%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/0bb8761f3497dd8d205281f8aa2959f5\/href\">https:\/\/medium.com\/media\/0bb8761f3497dd8d205281f8aa2959f5\/href<\/a><\/iframe><\/p>\n<h3><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/versions\/all-channel\">AndroidX Releases\u00a0\ud83d\ude80<\/a><\/h3>\n<p>Here\u2019s a summary of the AndroidX changes, many of which have been covered earlier in the\u00a0post:<\/p>\n<h4><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/compose-ui#1.11.0-alpha01\"><strong>Compose UI<\/strong><\/a><strong> &amp; <\/strong><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/compose-foundation#1.11.0-alpha01\"><strong>Foundation<\/strong><\/a><strong> (1.11.0-alpha01)<\/strong><\/h4>\n<p><strong>New UI Modifiers:<\/strong><\/p>\n<ul>\n<li><strong>Modifier.scrollIndicator:<\/strong> A new API to allow developers to add custom scroll indicators to scrollable containers, offering more control over the scroll\u00a0UI.<\/li>\n<li>Modifier.visible(): Introduced to skip drawing a Composable\u2019s content without affecting the space it occupies in the layout. This is useful for conditional visibility when you want to maintain layout structure.<\/li>\n<\/ul>\n<p><strong>Important Deprecation:<\/strong><\/p>\n<ul>\n<li>Modifier.onFirstVisible() is now <strong>deprecated<\/strong>. Its behavior was often misleading (e.g., triggering on every scroll for lazy lists). Developers are advised to use Modifier.onVisibilityChanged() and manually track visibility state based on their specific use\u00a0case.<\/li>\n<\/ul>\n<p><strong>Default Behavior\u00a0Changes:<\/strong><\/p>\n<ul>\n<li>TextField DPAD navigation and semantic autofill are now enabled by default, removing previous configuration flags.<\/li>\n<\/ul>\n<p><strong>Advanced Layouts:<\/strong><\/p>\n<ul>\n<li>MeasuredSizeAwareModifierNode: A new, more specific interface for obtaining onRemeasured() callbacks, recommended for custom layout nodes needing only measurement-related events.<\/li>\n<\/ul>\n<h4><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/navigation3#1.1.0-alpha01\"><strong>Navigation3<\/strong><\/a><strong> (1.1.0-alpha01)<\/strong><\/h4>\n<ul>\n<li><strong>Shared Element Transitions for Scenes:<\/strong> Navigation3 now supports treating \u201cscenes\u201d (likely Compose destinations\/screens) as shared element objects. This enables smooth, coordinated transitions between composables as they change, by passing a SharedTransitionScope to NavDisplay or rememberSceneState.<\/li>\n<\/ul>\n<h4><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/datastore#1.3.0-alpha01\"><strong>DataStore<\/strong><\/a><strong> (1.3.0-alpha01)<\/strong><\/h4>\n<ul>\n<li><strong>KMP Web Support:<\/strong> Introduces experimental Kotlin Multiplatform Web support for DataStore, leveraging the browser\u2019s sessionStorage API for temporary data persistence within a single browser\u00a0tab.<\/li>\n<\/ul>\n<h4><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/swiperefreshlayout#swiperefreshlayout-1.2.0\"><strong>SwipeRefreshLayout<\/strong><\/a><strong> (1.2.0)<\/strong><\/h4>\n<ul>\n<li>Addresses issues with the refresh icon\u2019s retraction and position reset, ensuring it behaves correctly after being shown and\u00a0hidden.<\/li>\n<li>Corrects requestDisallowInterceptTouchEvent(boolean) behavior, now honoring the request like other ViewGroups (though developers can opt out of this new behavior if necessary).<\/li>\n<\/ul>\n<h4><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/window#1.6.0-alpha01\"><strong>Window<\/strong><\/a><strong> (1.6.0-alpha01)<\/strong><\/h4>\n<ul>\n<li><strong>Adaptive UI Helpers:<\/strong> Adds helper methods to construct WindowSizeClassSets in a grid format, simplifying the creation of responsive layouts for different screen sizes and folding\u00a0states.<\/li>\n<\/ul>\n<h3>Other Noteworthy Releases<\/h3>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/webgpu#webgpu-1.0.0-alpha01\"><strong>androidx.webgpu:webgpu<\/strong><\/a><strong>:1.0.0-alpha01:<\/strong> Initial alpha release of a new library bringing WebGPU capabilities to Android applications. This is a developer preview aimed at specialized graphics use\u00a0cases.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/xr-glimmer#1.0.0-alpha01\"><strong>androidx.xr.glimmer:glimmer<\/strong><\/a><strong>:1.0.0-alpha01:<\/strong> Initial alpha release of Jetpack Glimmer, a new design language and UI component library specifically for building Android XR (Extended Reality) experiences.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/compose-animation#1.11.0-alpha01\"><strong>Compose Animation<\/strong><\/a><strong> (1.11.0-alpha01):<\/strong> Includes a bug fix ensuring position is acquired for shared elements only when SharedTransitionLayout is attached.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/compose-runtime#1.11.0-alpha01\"><strong>Compose Runtime<\/strong><\/a><strong> (1.11.0-alpha01):<\/strong> Minor API change with RetainedValuesStore.getExitedValueOrDefault renamed to consumeExitedValueOrDefault, and the experimental concurrent recomposition API has been\u00a0removed.<\/li>\n<\/ul>\n<h3>Signing off<\/h3>\n<p>That\u2019s it for now, with <a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/start-building-for-glasses-new-devices.html\">Android XR,<\/a> the <a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/android-studio-otter-2-feature-drop-is.html\">Android Studio Otter 2 feature drop with Gemini 3<\/a>; the release of <a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/android-16-qpr2-is-released.html\">Android 16 QPR2<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/12\/whats-new-in-jetpack-compose-december.html\">compose updates<\/a> including the stable release of <a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/jetpack-navigation-3-is-stable.html\">Jetpack Navigation 3<\/a>, highlights <a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/fully-optimized-wrapping-up-performance.html\">performance spotlight week<\/a>, and <a href=\"http:\/\/android-developers.googleblog.com\/2025\/10\/ml-kit-genai-prompt-api-alpha-release.html\">much<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/11\/introducing-camerax-15-powerful-video.html\">much<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=dQw4w9WgXcQ&amp;list=RDdQw4w9WgXcQ&amp;start_radio=1\">much<\/a>\u00a0more.<\/p>\n<p>See you all in the new year for more updates from the Android developer ecosystem!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/medium.com\/_\/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=7ad94b13d5bc\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<hr>\n<p><a href=\"https:\/\/medium.com\/androiddevelopers\/now-in-android-123-7ad94b13d5bc\">Now In Android #123<\/a> was originally published in <a href=\"https:\/\/medium.com\/androiddevelopers\">Android Developers<\/a> on Medium, where people are continuing the conversation by highlighting and responding to this story.<\/p>\n<\/div>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_3590\" class=\"pvc_stats total_only\" data-element-id=\"3590\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.0\" viewbox=\"0 0 502 315\" preserveaspectratio=\"xMidYMid meet\"><g transform=\"translate(0,332) scale(0.1,-0.1)\" fill=\"\" stroke=\"none\"><path d=\"M2394 3279 l-29 -30 -3 -207 c-2 -182 0 -211 15 -242 39 -76 157 -76 196 0 15 31 17 60 15 243 l-3 209 -33 29 c-26 23 -41 29 -80 29 -41 0 -53 -5 -78 -31z\"\/><path d=\"M3085 3251 c-45 -19 -58 -50 -96 -229 -47 -217 -49 -260 -13 -295 52 -53 146 -42 177 20 16 31 87 366 87 410 0 70 -86 122 -155 94z\"\/><path d=\"M1751 3234 c-13 -9 -29 -31 -37 -50 -12 -29 -10 -49 21 -204 19 -94 39 -189 45 -210 14 -50 54 -80 110 -80 34 0 48 6 76 34 21 21 34 44 34 59 0 14 -18 113 -40 219 -37 178 -43 195 -70 221 -36 32 -101 37 -139 11z\"\/><path d=\"M1163 3073 c-36 -7 -73 -59 -73 -102 0 -56 133 -378 171 -413 34 -32 83 -37 129 -13 70 36 67 87 -16 290 -86 209 -89 214 -129 231 -35 14 -42 15 -82 7z\"\/><path d=\"M3689 3066 c-15 -9 -33 -30 -42 -48 -48 -103 -147 -355 -147 -375 0 -98 131 -148 192 -74 13 15 57 108 97 206 80 196 84 226 37 273 -30 30 -99 39 -137 18z\"\/><path d=\"M583 2784 c-38 -19 -67 -74 -58 -113 9 -42 211 -354 242 -373 16 -10 45 -18 66 -18 51 0 107 52 107 100 0 39 -1 41 -124 234 -80 126 -108 162 -133 173 -41 17 -61 16 -100 -3z\"\/><path d=\"M4250 2784 c-14 -9 -74 -91 -133 -183 -95 -150 -107 -173 -107 -213 0 -55 33 -94 87 -104 67 -13 90 8 211 198 130 202 137 225 78 284 -27 27 -42 34 -72 34 -22 0 -50 -8 -64 -16z\"\/><path d=\"M2275 2693 c-553 -48 -1095 -270 -1585 -649 -135 -104 -459 -423 -483 -476 -23 -49 -22 -139 2 -186 73 -142 361 -457 571 -626 285 -228 642 -407 990 -497 242 -63 336 -73 660 -74 310 0 370 5 595 52 535 111 1045 392 1455 803 122 121 250 273 275 326 19 41 19 137 0 174 -41 79 -309 363 -465 492 -447 370 -946 591 -1479 653 -113 14 -422 18 -536 8z m395 -428 c171 -34 330 -124 456 -258 112 -119 167 -219 211 -378 27 -96 24 -300 -5 -401 -72 -255 -236 -447 -474 -557 -132 -62 -201 -76 -368 -76 -167 0 -236 14 -368 76 -213 98 -373 271 -451 485 -162 444 86 934 547 1084 153 49 292 57 452 25z m909 -232 c222 -123 408 -262 593 -441 76 -74 138 -139 138 -144 0 -16 -233 -242 -330 -319 -155 -123 -309 -223 -461 -299 l-81 -41 32 46 c18 26 49 83 70 128 143 306 141 649 -6 957 -25 52 -61 116 -79 142 l-34 47 45 -20 c26 -10 76 -36 113 -56z m-2057 25 c-40 -58 -105 -190 -130 -263 -110 -324 -59 -707 132 -981 25 -35 42 -64 37 -64 -19 0 -241 119 -326 174 -188 122 -406 314 -532 468 l-58 71 108 103 c185 178 428 349 672 473 66 33 121 60 123 61 2 0 -10 -19 -26 -42z\"\/><path d=\"M2375 1950 c-198 -44 -350 -190 -395 -379 -18 -76 -8 -221 19 -290 114 -284 457 -406 731 -260 98 52 188 154 231 260 27 69 37 214 19 290 -38 163 -166 304 -326 360 -67 23 -215 33 -279 19z\"\/><\/g><\/svg><\/i> <img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/i0.wp.com\/dev95.site\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif?resize=16%2C16&#038;ssl=1\" border=\"0\" \/><\/p>\n<div class=\"pvc_clear\"><\/div>","protected":false},"excerpt":{"rendered":"<p>Android XR, Android Studio Otter 2 feature drop; Android 16 QPR2, compose updates, Jetpack Navigation 3, performance and much, much, much\u00a0more. Welcome to Now in Android, your ongoing guide to what\u2019s new and notable in the world of Android development.<\/p>\n<div class=\"hosteria-entry-more\"><a href=\"https:\/\/dev95.site\/ar\/now-in-android-123\/\" class=\"no-underline font-light  group-hover:text-primary-800 dark:group-hover:text-primary-300 py-1\">Read more &gt;&gt;&gt;<\/a><\/div>\n<div class=\"pvc_clear\"><\/div>\n<p id=\"pvc_stats_3590\" class=\"pvc_stats total_only\" data-element-id=\"3590\" style=\"\"><i class=\"pvc-stats-icon medium\" aria-hidden=\"true\"><svg xmlns=\"http:\/\/www.w3.org\/2000\/svg\" version=\"1.0\" viewbox=\"0 0 502 315\" preserveaspectratio=\"xMidYMid meet\"><g transform=\"translate(0,332) scale(0.1,-0.1)\" fill=\"\" stroke=\"none\"><path d=\"M2394 3279 l-29 -30 -3 -207 c-2 -182 0 -211 15 -242 39 -76 157 -76 196 0 15 31 17 60 15 243 l-3 209 -33 29 c-26 23 -41 29 -80 29 -41 0 -53 -5 -78 -31z\"\/><path d=\"M3085 3251 c-45 -19 -58 -50 -96 -229 -47 -217 -49 -260 -13 -295 52 -53 146 -42 177 20 16 31 87 366 87 410 0 70 -86 122 -155 94z\"\/><path d=\"M1751 3234 c-13 -9 -29 -31 -37 -50 -12 -29 -10 -49 21 -204 19 -94 39 -189 45 -210 14 -50 54 -80 110 -80 34 0 48 6 76 34 21 21 34 44 34 59 0 14 -18 113 -40 219 -37 178 -43 195 -70 221 -36 32 -101 37 -139 11z\"\/><path d=\"M1163 3073 c-36 -7 -73 -59 -73 -102 0 -56 133 -378 171 -413 34 -32 83 -37 129 -13 70 36 67 87 -16 290 -86 209 -89 214 -129 231 -35 14 -42 15 -82 7z\"\/><path d=\"M3689 3066 c-15 -9 -33 -30 -42 -48 -48 -103 -147 -355 -147 -375 0 -98 131 -148 192 -74 13 15 57 108 97 206 80 196 84 226 37 273 -30 30 -99 39 -137 18z\"\/><path d=\"M583 2784 c-38 -19 -67 -74 -58 -113 9 -42 211 -354 242 -373 16 -10 45 -18 66 -18 51 0 107 52 107 100 0 39 -1 41 -124 234 -80 126 -108 162 -133 173 -41 17 -61 16 -100 -3z\"\/><path d=\"M4250 2784 c-14 -9 -74 -91 -133 -183 -95 -150 -107 -173 -107 -213 0 -55 33 -94 87 -104 67 -13 90 8 211 198 130 202 137 225 78 284 -27 27 -42 34 -72 34 -22 0 -50 -8 -64 -16z\"\/><path d=\"M2275 2693 c-553 -48 -1095 -270 -1585 -649 -135 -104 -459 -423 -483 -476 -23 -49 -22 -139 2 -186 73 -142 361 -457 571 -626 285 -228 642 -407 990 -497 242 -63 336 -73 660 -74 310 0 370 5 595 52 535 111 1045 392 1455 803 122 121 250 273 275 326 19 41 19 137 0 174 -41 79 -309 363 -465 492 -447 370 -946 591 -1479 653 -113 14 -422 18 -536 8z m395 -428 c171 -34 330 -124 456 -258 112 -119 167 -219 211 -378 27 -96 24 -300 -5 -401 -72 -255 -236 -447 -474 -557 -132 -62 -201 -76 -368 -76 -167 0 -236 14 -368 76 -213 98 -373 271 -451 485 -162 444 86 934 547 1084 153 49 292 57 452 25z m909 -232 c222 -123 408 -262 593 -441 76 -74 138 -139 138 -144 0 -16 -233 -242 -330 -319 -155 -123 -309 -223 -461 -299 l-81 -41 32 46 c18 26 49 83 70 128 143 306 141 649 -6 957 -25 52 -61 116 -79 142 l-34 47 45 -20 c26 -10 76 -36 113 -56z m-2057 25 c-40 -58 -105 -190 -130 -263 -110 -324 -59 -707 132 -981 25 -35 42 -64 37 -64 -19 0 -241 119 -326 174 -188 122 -406 314 -532 468 l-58 71 108 103 c185 178 428 349 672 473 66 33 121 60 123 61 2 0 -10 -19 -26 -42z\"\/><path d=\"M2375 1950 c-198 -44 -350 -190 -395 -379 -18 -76 -8 -221 19 -290 114 -284 457 -406 731 -260 98 52 188 154 231 260 27 69 37 214 19 290 -38 163 -166 304 -326 360 -67 23 -215 33 -279 19z\"\/><\/g><\/svg><\/i> <img loading=\"lazy\" decoding=\"async\" width=\"16\" height=\"16\" alt=\"Loading\" src=\"https:\/\/dev95.site\/wp-content\/plugins\/page-views-count\/ajax-loader-2x.gif\" border=\"0\" \/><\/p>\n<div class=\"pvc_clear\"><\/div>","protected":false},"author":1,"featured_media":3591,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"fp_fajr_begins":"","fp_fajr_iqamah":"","fp_dhuhr_begins":"","fp_dhuhr_iqamah":"","fp_asr_begins":"","fp_asr_iqamah":"","fp_maghrib_begins":"","fp_maghrib_iqamah":"","fp_isha_begins":"","fp_isha_iqamah":"","fp_midnight":"","fp_midnight_name":"","fp_sunrise":"","fp_single_prayer_begins_title":"","fp_single_prayer_iqamah_title":"","fp_prayer_times_for_today":"","fp_hijra_date":"","fp_fajr_name":"","fp_dhuhr_name":"","fp_asr_name":"","fp_maghrib_name":"","fp_isha_name":"","fp_sunrise_name":"","fp_currentDate":"","fp_current_time":"","fp_current_title":"","fp_current_location":"","fp_masjid_name":"","fp_prayer_title":"","fp_next_prayer_iqamah_time":"","fp_next_prayer_iqamah_title":"","fp_next_prayer_begins_time":"","fp_next_prayer_begins_title":"","fp_next_prayer_title":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_post_was_ever_published":false},"categories":[9],"tags":[],"class_list":["post-3590","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-android"],"a3_pvc":{"activated":true,"total_views":0,"today_views":0},"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.5 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Now In Android #123 - Dev95<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/dev95.site\/ar\/now-in-android-123\/\" \/>\n<meta property=\"og:locale\" content=\"ar_AR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Now In Android #123 - Dev95\" \/>\n<meta property=\"og:description\" content=\"Android XR, Android Studio Otter 2 feature drop; Android 16 QPR2, compose updates, Jetpack Navigation 3, performance and much, much, much\u00a0more. Welcome to Now in Android, your ongoing guide to what\u2019s new and notable in the world of Android development.Read more &gt;&gt;&gt;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dev95.site\/ar\/now-in-android-123\/\" \/>\n<meta property=\"og:site_name\" content=\"Dev95\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-23T10:11:16+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*gIxhniXZ31TZ_1fZ.png\" \/>\n<meta name=\"author\" content=\"dev95\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"\u0643\u064f\u062a\u0628 \u0628\u0648\u0627\u0633\u0637\u0629\" \/>\n\t<meta name=\"twitter:data1\" content=\"dev95\" \/>\n\t<meta name=\"twitter:label2\" content=\"\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631\" \/>\n\t<meta name=\"twitter:data2\" content=\"39 \u062f\u0642\u064a\u0642\u0629\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/\"},\"author\":{\"name\":\"dev95\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/person\\\/b807805ffe2916206b04d0938bce0298\"},\"headline\":\"Now In Android #123\",\"datePublished\":\"2026-09-23T10:11:16+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/\"},\"wordCount\":7769,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/0gIxhniXZ31TZ_1fZ.png?fit=1024%2C305&ssl=1\",\"articleSection\":[\"Android\"],\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/\",\"url\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/\",\"name\":\"Now In Android #123 - Dev95\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/0gIxhniXZ31TZ_1fZ.png?fit=1024%2C305&ssl=1\",\"datePublished\":\"2026-09-23T10:11:16+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/#breadcrumb\"},\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/#primaryimage\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/0gIxhniXZ31TZ_1fZ.png?fit=1024%2C305&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/09\\\/0gIxhniXZ31TZ_1fZ.png?fit=1024%2C305&ssl=1\",\"width\":1024,\"height\":305},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-123\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dev95.site\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Now In Android #123\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#website\",\"url\":\"https:\\\/\\\/dev95.site\\\/\",\"name\":\"Dev95\",\"description\":\"A comprehensive platform for data and knowledge, delivering reliable content that meets the aspirations of readers and enthusiasts.\",\"publisher\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/dev95.site\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"ar\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\",\"name\":\"Dev95\",\"url\":\"https:\\\/\\\/dev95.site\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/rbrrbr-6.png?fit=512%2C512&ssl=1\",\"contentUrl\":\"https:\\\/\\\/i0.wp.com\\\/dev95.site\\\/wp-content\\\/uploads\\\/2026\\\/07\\\/rbrrbr-6.png?fit=512%2C512&ssl=1\",\"width\":512,\"height\":512,\"caption\":\"Dev95\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/logo\\\/image\\\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/person\\\/b807805ffe2916206b04d0938bce0298\",\"name\":\"dev95\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g\",\"caption\":\"dev95\"},\"url\":\"https:\\\/\\\/dev95.site\\\/ar\\\/author\\\/mohammad\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Now In Android #123 - Dev95","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/dev95.site\/ar\/now-in-android-123\/","og_locale":"ar_AR","og_type":"article","og_title":"Now In Android #123 - Dev95","og_description":"Android XR, Android Studio Otter 2 feature drop; Android 16 QPR2, compose updates, Jetpack Navigation 3, performance and much, much, much\u00a0more. Welcome to Now in Android, your ongoing guide to what\u2019s new and notable in the world of Android development.Read more &gt;&gt;&gt;","og_url":"https:\/\/dev95.site\/ar\/now-in-android-123\/","og_site_name":"Dev95","article_published_time":"2026-09-23T10:11:16+00:00","og_image":[{"url":"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*gIxhniXZ31TZ_1fZ.png","type":"","width":"","height":""}],"author":"dev95","twitter_card":"summary_large_image","twitter_misc":{"\u0643\u064f\u062a\u0628 \u0628\u0648\u0627\u0633\u0637\u0629":"dev95","\u0648\u0642\u062a \u0627\u0644\u0642\u0631\u0627\u0621\u0629 \u0627\u0644\u0645\u064f\u0642\u062f\u0651\u0631":"39 \u062f\u0642\u064a\u0642\u0629"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dev95.site\/now-in-android-123\/#article","isPartOf":{"@id":"https:\/\/dev95.site\/now-in-android-123\/"},"author":{"name":"dev95","@id":"https:\/\/dev95.site\/#\/schema\/person\/b807805ffe2916206b04d0938bce0298"},"headline":"Now In Android #123","datePublished":"2026-09-23T10:11:16+00:00","mainEntityOfPage":{"@id":"https:\/\/dev95.site\/now-in-android-123\/"},"wordCount":7769,"commentCount":0,"publisher":{"@id":"https:\/\/dev95.site\/#organization"},"image":{"@id":"https:\/\/dev95.site\/now-in-android-123\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/0gIxhniXZ31TZ_1fZ.png?fit=1024%2C305&ssl=1","articleSection":["Android"],"inLanguage":"ar","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dev95.site\/now-in-android-123\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dev95.site\/now-in-android-123\/","url":"https:\/\/dev95.site\/now-in-android-123\/","name":"Now In Android #123 - Dev95","isPartOf":{"@id":"https:\/\/dev95.site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dev95.site\/now-in-android-123\/#primaryimage"},"image":{"@id":"https:\/\/dev95.site\/now-in-android-123\/#primaryimage"},"thumbnailUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/0gIxhniXZ31TZ_1fZ.png?fit=1024%2C305&ssl=1","datePublished":"2026-09-23T10:11:16+00:00","breadcrumb":{"@id":"https:\/\/dev95.site\/now-in-android-123\/#breadcrumb"},"inLanguage":"ar","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dev95.site\/now-in-android-123\/"]}]},{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/dev95.site\/now-in-android-123\/#primaryimage","url":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/0gIxhniXZ31TZ_1fZ.png?fit=1024%2C305&ssl=1","contentUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/0gIxhniXZ31TZ_1fZ.png?fit=1024%2C305&ssl=1","width":1024,"height":305},{"@type":"BreadcrumbList","@id":"https:\/\/dev95.site\/now-in-android-123\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dev95.site\/"},{"@type":"ListItem","position":2,"name":"Now In Android #123"}]},{"@type":"WebSite","@id":"https:\/\/dev95.site\/#website","url":"https:\/\/dev95.site\/","name":"Dev95","description":"A comprehensive platform for data and knowledge, delivering reliable content that meets the aspirations of readers and enthusiasts.","publisher":{"@id":"https:\/\/dev95.site\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/dev95.site\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"ar"},{"@type":"Organization","@id":"https:\/\/dev95.site\/#organization","name":"Dev95","url":"https:\/\/dev95.site\/","logo":{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/dev95.site\/#\/schema\/logo\/image\/","url":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/07\/rbrrbr-6.png?fit=512%2C512&ssl=1","contentUrl":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/07\/rbrrbr-6.png?fit=512%2C512&ssl=1","width":512,"height":512,"caption":"Dev95"},"image":{"@id":"https:\/\/dev95.site\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/dev95.site\/#\/schema\/person\/b807805ffe2916206b04d0938bce0298","name":"dev95","image":{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/secure.gravatar.com\/avatar\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/a70a73d950838b20cd80d7ebdc955737e802e8cd896044c5473b32b946c0662a?s=96&d=mm&r=g","caption":"dev95"},"url":"https:\/\/dev95.site\/ar\/author\/mohammad\/"}]}},"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/i0.wp.com\/dev95.site\/wp-content\/uploads\/2026\/09\/0gIxhniXZ31TZ_1fZ.png?fit=1024%2C305&ssl=1","_links":{"self":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts\/3590","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/comments?post=3590"}],"version-history":[{"count":0,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts\/3590\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/media\/3591"}],"wp:attachment":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/media?parent=3590"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/categories?post=3590"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/tags?post=3590"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}