{"id":3584,"date":"2026-09-23T10:11:05","date_gmt":"2026-09-23T10:11:05","guid":{"rendered":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/"},"modified":"2026-09-23T10:11:05","modified_gmt":"2026-09-23T10:11:05","slug":"now-in-android-118-google-i-o-2025-part-ii","status":"publish","type":"post","link":"https:\/\/dev95.site\/ar\/now-in-android-118-google-i-o-2025-part-ii\/","title":{"rendered":"Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part II"},"content":{"rendered":"<div id=\"dev95-948864052\" 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 decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*DGhSo0oIKFVorFLA\"><\/figure>\n<h3>Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part\u00a0II<\/h3>\n<h4><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/whats-new-in-jetpack-compose.html\">Compose<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/building-delightful-android-camera-media-experiences.html\">Camera and Media<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=fKY6qYxytLI&amp;pp=ygUdYW5kcm9pZCBhY2Nlc3NpYmlsaXR5IHVwZGF0ZXM%3D\">Accessibility<\/a>\u00a0,<a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/android-kotlin-multiplatform-google-io-kotlinconf-2025.html\">KMP<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html\">\u0627\u0644\u0623\u062f\u0648\u0627\u062a<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=Wl7QvP2eDbA\">Maps<\/a>, <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/versions\/all-channel\">AndroidX<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=BmEuE_Er-Fs\">Google Home<\/a>, integrating the <a href=\"https:\/\/www.youtube.com\/watch?v=2IAoYnzCTvw\">web<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html\">Google Play<\/a>, and\u00a0more<\/h4>\n<p>Welcome to part two of a <strong>special<\/strong> <a href=\"https:\/\/io.google\/2025\/\"><strong>Google I\/O 2025<\/strong><\/a> <strong>edition<\/strong> of <a href=\"https:\/\/developer.android.com\/series\/now-in-android\">Now in Android<\/a>, your ongoing guide to what\u2019s new and notable in Android development.<\/p>\n<p>This second edition covers the latest from <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/whats-new-in-jetpack-compose.html\">Jetpack Compose<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/building-delightful-android-camera-media-experiences.html\">Camera and Media<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=fKY6qYxytLI&amp;pp=ygUdYW5kcm9pZCBhY2Nlc3NpYmlsaXR5IHVwZGF0ZXM%3D\">Accessibility<\/a>\u00a0,<a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/android-kotlin-multiplatform-google-io-kotlinconf-2025.html\">Kotlin Multiplatform<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html\">Android development tools<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=Wl7QvP2eDbA\">Google Maps<\/a>, <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/versions\/all-channel\">AndroidX<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=BmEuE_Er-Fs\">Google Home with Gemini<\/a>, integrating <a href=\"https:\/\/www.youtube.com\/watch?v=2IAoYnzCTvw\">web functionality<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html\">Google Play<\/a>, and\u00a0more.<\/p><div id=\"dev95-3175550821\" 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><a href=\"https:\/\/medium.com\/androiddevelopers\/now-in-android-117-google-i-o-2025-part-i-fd20a09a2299\"><strong>Part one<\/strong><\/a> included coverage of <a href=\"https:\/\/m3.material.io\/blog\/building-with-m3-expressive\">Material Expressive<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/whats-new-in-wear-os-6.html\">watches<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/android-for-cars-google-io-2025.html\">cars<\/a>, tablets, laptops, connected displays, the latest in <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/adaptiveapps-io25.html\">adaptive app development<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/updates-to-android-xr-sdk-developer-preview.html\">XR development<\/a>, taking advantage of <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/on-device-gen-ai-apis-ml-kit-gemini-nano.html\">on-device<\/a> and <a href=\"https:\/\/www.youtube.com\/watch?v=U8Nb68XsVY4\">cloud based AI<\/a>, and <a href=\"https:\/\/www.youtube.com\/watch?v=IaNpcrCSDiI\">Android\u00a016<\/a>.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DiB6lYZ_9VxI&amp;type=text%2Fhtml&amp;schema=google&amp;display_name=YouTube&amp;src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FiB6lYZ_9VxI\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/ac4b380d9ad7f761525349fa12cc14a0\/href\">https:\/\/medium.com\/media\/ac4b380d9ad7f761525349fa12cc14a0\/href<\/a><\/iframe><\/p>\n<p><a href=\"https:\/\/nowinandroid.libsyn.com\/118-whats-new-in-android-development-at-google-io-2025-part-2?source=post_page-----0176766c2061---------------------------------------\">Now in Android: 118 &#8211; What&#8217;s new in Android development at Google I\/O 2025 (part 2)<\/a><\/p>\n<p>Most of the content of this post is available in the form of a <a href=\"https:\/\/youtu.be\/iB6lYZ_9VxI\">video<\/a> or <a href=\"http:\/\/nowinandroid.libsyn.com\/118-whats-new-in-android-development-at-google-io-2025-part-2\">podcast<\/a>, so feel free to <a href=\"https:\/\/youtu.be\/iB6lYZ_9VxI\">watch<\/a> or <a href=\"http:\/\/nowinandroid.libsyn.com\/118-whats-new-in-android-development-at-google-io-2025-part-2\">listen<\/a> rather than read on. (Or do all three to help you remember! There won\u2019t be a\u00a0quiz.)<\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*PKpf102AGaQTatZ3\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/whats-new-in-jetpack-compose.html\">Jetpack Compose\u00a0\ud83d\udcbb<\/a><\/h3>\n<p>Jetpack Compose introduced new features, including <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/text\/autofill\">autofill support<\/a>, <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/foundation\/text\/TextAutoSize\">auto-sizing text<\/a>, <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/ui\/layout\/package-summary#%28androidx.compose.ui.Modifier%29.onLayoutRectChanged%28kotlin.Long,kotlin.Long,kotlin.Function1%29\">visibility tracking<\/a>, the <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/animation\/package-summary#%28androidx.compose.ui.Modifier%29.animateBounds%28androidx.compose.ui.layout.LookaheadScope,androidx.compose.ui.Modifier,androidx.compose.animation.BoundsTransform,kotlin.Boolean%29\">animate bounds modifier<\/a>, and <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/ui\/test\/accessibility\/package-summary.html#%28androidx.compose.ui.test.ComposeUiTest%29.enableAccessibilityChecks%28com.google.android.apps.common.testing.accessibility.framework.integrations.espresso.AccessibilityValidator%29\">accessibility checks in tests<\/a>, and that\u2019s just the beginning of what\u2019s\u00a0new:<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/ui\/Modifier#(androidx.compose.ui.Modifier).animateBounds(androidx.compose.ui.layout.LookaheadScope,androidx.compose.ui.Modifier,androidx.compose.animation.BoundsTransform,kotlin.Boolean)\">animateBounds<\/a> provides automatic animations of a Composable\u2019s position and size within a <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/ui\/layout\/LookaheadScope\">LookaheadScope<\/a>, while visibility tracking is used when you need high-performance information on a composable\u2019s position in its root container, screen, or window.<br \/>For more on autofill, autosize, and the new <a href=\"https:\/\/developer.android.com\/develop\/ui\/compose\/text\/user-input?textfield=state-based\">state based TextField<\/a>, check out the \u201c<a href=\"https:\/\/www.youtube.com\/watch?v=07Y9CPuxgvQ\">Mastering text input in Compose<\/a>\u201d\u00a0talk.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F07Y9CPuxgvQ%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D07Y9CPuxgvQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F07Y9CPuxgvQ%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/9d6173df81f8e842f25b25f0a406c606\/href\">https:\/\/medium.com\/media\/9d6173df81f8e842f25b25f0a406c606\/href<\/a><\/iframe><\/p>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\">Navigation 3<\/a> is a brand new, Compose-first navigation library, now in alpha that\u2019s designed to give you greater control while simplifying building complex navigation flows.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/announcing-jetpack-navigation-3-for-compose.html\">Announcing Jetpack Navigation 3<\/a><\/p>\n<ul>\n<li>Compose support for <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/camera\/compose\/package-summary\">CameraX<\/a> and <a href=\"https:\/\/developer.android.com\/media\/media3\/ui\/compose\">Media3<\/a> makes it easier to integrate camera capture and video playback into your\u00a0UI.<\/li>\n<li>Android Studio tools have been improved for creating Compose UIs. The latest <a href=\"https:\/\/developer.android.com\/studio\/preview\">Narwhal canary<\/a> includes <a href=\"https:\/\/developer.android.com\/studio\/preview\/features#resizable_previews\">resizable previews<\/a>, preview <a href=\"https:\/\/developer.android.com\/studio\/preview\/features#navigation_improvements\">navigation improvements<\/a>, and Gemini integration for <a href=\"https:\/\/developer.android.com\/studio\/preview\/features#generate-compose-preview-gemini\">Compose preview generation<\/a> and UI transformation.<\/li>\n<li>The \u201c<a href=\"https:\/\/www.youtube.com\/watch?v=80qkStdDWXQ\">Accessible UIs with Jetpack Compose<\/a>\u201d talk covers how Compose facilitates accessibility and how you can use it to build apps that are usable by everyone.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F80qkStdDWXQ%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D80qkStdDWXQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F80qkStdDWXQ%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/72811ed9eda83785517efbe026b50c4b\/href\">https:\/\/medium.com\/media\/72811ed9eda83785517efbe026b50c4b\/href<\/a><\/iframe><\/p>\n<p>Read about <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/whats-new-in-jetpack-compose.html\">What\u2019s new in Jetpack Compose<\/a> or watch the\u00a0<a href=\"https:\/\/www.youtube.com\/watch?v=89UusPuz8q4\">talk<\/a>.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/whats-new-in-jetpack-compose.html\">What&#8217;s New in Jetpack Compose<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F89UusPuz8q4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D89UusPuz8q4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F89UusPuz8q4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/5558a3547ad7285728e35d27897d64b2\/href\">https:\/\/medium.com\/media\/5558a3547ad7285728e35d27897d64b2\/href<\/a><\/iframe><\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*fznqvJyaCDayBa8G\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/building-delightful-android-camera-media-experiences.html\">CameraX and Media3\u00a0\ud83c\udfac<\/a><\/h3>\n<p>The \u201c<a href=\"https:\/\/www.youtube.com\/watch?v=3zXVPU2vKXs\">Seamless video capture, editing and playback with CameraX and Media3<\/a>\u201d session covers how you can use <a href=\"https:\/\/developer.android.com\/media\/camera\/camerax\">CameraX<\/a> and <a href=\"https:\/\/developer.android.com\/media\/media3\">Media3<\/a> together with <a href=\"https:\/\/developer.android.com\/ai\/custom\">LiteRT<\/a> to create video capture, sharing, and editing apps with custom\u00a0effects.<\/p>\n<p><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/camera\">CameraX<\/a> simplifies camera integration (preview, capture, analysis), while <a href=\"https:\/\/developer.android.com\/media\/media3\/transformer\">Media3 Transformer<\/a> handles video editing and transcoding. <a href=\"https:\/\/developer.android.com\/media\/media3\/exoplayer\">Media3 ExoPlayer<\/a> provides flexible video playback\u00a0options.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F3zXVPU2vKXs%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D3zXVPU2vKXs&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F3zXVPU2vKXs%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/950a42cebc56068edb301a817e072386\/href\">https:\/\/medium.com\/media\/950a42cebc56068edb301a817e072386\/href<\/a><\/iframe><\/p>\n<p>In the \u201cBuilding delightful Android camera and media experiences\u201d blog, the Android Developer Relations Camera &amp; Media team shared learnings from creating sample media code and demos, including:<\/p>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/media\/media3\"><strong>Jetpack Media3 Transformer APIs<\/strong><\/a> to arrange input video sequences into different layouts using a custom video compositor.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/develop\/ui\"><strong>Jetpack Compose<\/strong><\/a>: Migrate your app to Jetpack Compose and use the supporting pane adaptive layout, so the UI dynamically adapts to the screen\u00a0size.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/media\/camera\/camerax\"><strong>CameraX\u2019s<\/strong><\/a> <a href=\"https:\/\/developer.android.com\/reference\/androidx\/camera\/media3\/effect\/Media3Effect?hl=en\">Media3 effect integration<\/a> allows you to easily add filters and effects. You can define your own effects by implementing the GlEffect interface.<\/li>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/building-delightful-android-camera-media-experiences.html#:~:text=Jetpack%20offers%20a%20foundation%20for%20innovative%20AI%20Features\"><strong>Media3 can be used with AI<\/strong><\/a><strong> <\/strong>to analyze video content and extract meaningful information. You can convert textual information derived from the video into spoken audio, enhancing accessibility.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/games\/sdk\/oboe\"><strong>Oboe Audio API<\/strong><\/a><strong>:<\/strong> Starting in Android 16, the new audio PCM Offload mode reduces the power consumption of audio playback in your\u00a0app.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/building-delightful-android-camera-media-experiences.html\">Building delightful Android camera and media experiences<\/a><\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*tdBL56KLrhSx847Q\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/androidify-building-ai-driven-experiences-jetpack-compose-gemini-camerax.html\">Androidify: AI-driven experiences with Jetpack Compose, Gemini and CameraX\u00a0\ud83e\udd16<\/a><\/h3>\n<p>The Androidify app is an open-source project showcasing how to build AI-driven Android experiences, using <a href=\"https:\/\/developer.android.com\/develop\/ui\">Jetpack Compose<\/a>, <a href=\"https:\/\/developer.android.com\/ai\/gemini\">Gemini<\/a>, <a href=\"https:\/\/developer.android.com\/media\/camera\/camerax\">CameraX<\/a>, and <a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\">Navigation 3<\/a>.<\/p>\n<p>The first article, \u201c<a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/androidify-building-ai-driven-experiences-jetpack-compose-gemini-camerax.html\">Androidify: Building powerful AI-driven experiences with Jetpack Compose, Gemini and CameraX<\/a>\u201d is a thorough introduction into how the app was architected, tested, and how many of the features were\u00a0created.<\/p>\n<p>The app uses the Gemini API through the Firebase AI Logic SDK to access Imagen and Gemini models. It uses Gemini models for image validation, text prompt validation, image captioning, a \u201chelp me write\u201d feature, and image generation from the generated prompt. The UI is built with Jetpack Compose, and it adapts to different devices using <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/windowsizeclass\/WindowSizeClass\">WindowSizeClass<\/a>. CameraX is integrated for photos, and Media3 APIs are used to load an instructional video. Screen transitions are handled using the new Jetpack Navigation 3\u00a0library.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/androidify-building-ai-driven-experiences-jetpack-compose-gemini-camerax.html\">Androidify: Building powerful AI-driven experiences with Jetpack Compose, Gemini and CameraX<\/a><\/p>\n<p>The \u201c<a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/androidify-building-delightful-ui-with-compose.html\">Android Developers Blog: Androidify: Building delightful UIs with Compose<\/a>\u201d post focuses on how the user experience was built using Material 3 expressive with the <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/package-summary?#MaterialExpressiveTheme(androidx.compose.material3.ColorScheme,androidx.compose.material3.MotionScheme,androidx.compose.material3.Shapes,androidx.compose.material3.Typography,kotlin.Function0)\">MaterialExpressiveTheme<\/a> and <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/MotionScheme#expressive()\">MotionScheme.expressive<\/a>. The app uses the <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/package-summary#HorizontalFloatingToolbar(kotlin.Boolean,androidx.compose.ui.Modifier,androidx.compose.material3.FloatingToolbarColors,androidx.compose.foundation.layout.PaddingValues,androidx.compose.material3.FloatingToolbarScrollBehavior,androidx.compose.ui.graphics.Shape,kotlin.Function1,kotlin.Function1,androidx.compose.ui.unit.Dp,androidx.compose.ui.unit.Dp,kotlin.Function1)\">HorizontalFloatingToolbar<\/a> for prompt type selection and <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/material3\/MaterialShapes\">MaterialShapes<\/a>.<\/p>\n<p>It leverages Jetpack Compose 1.8 to automatically adjust the font size of text composables, and uses the new <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/compose\/ui\/Modifier#(androidx.compose.ui.Modifier).onLayoutRectChanged(kotlin.Long,kotlin.Long,kotlin.Function1)\">onLayoutRectChanged<\/a> to help make fun animation.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/androidify-building-delightful-ui-with-compose.html\">Androidify: Building delightful UIs with Compose<\/a><\/p>\n<p>The \u201c<a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/androidify-how-androidify-leverages-gemini-firebase-ml-kit.html\">Androidify: How Androidify leverages Gemini, Firebase and ML Kit<\/a>\u201d post covers how Google AI is powering the new Androidify with <a href=\"https:\/\/ai.google.dev\/gemini-api\/docs\/models\">Gemini AI models<\/a>, <a href=\"https:\/\/firebase.google.com\/docs\/ai-logic\/generate-images-imagen\">Imagen<\/a>, and the <a href=\"https:\/\/firebase.google.com\/products\/firebase-ai-logic\">Firebase AI Logic SDK<\/a> to enhance the app experience.<\/p>\n<p>The app uses Gemini 2.5 Flash via Firebase to validate uploaded images, ensuring they contain a person who is in focus and that the image is safe. The app also uses Gemini 2.5 Flash with structured output to caption the\u00a0image.<\/p>\n<p>The detailed description of your image is used to enrich the prompt for image generation. A fine tuned version of the Imagen 3 model is called to create the\u00a0bot.<\/p>\n<p>The app uses the <a href=\"https:\/\/developers.google.com\/ml-kit\/vision\/pose-detection\">ML Kit Pose Detection<\/a> API to detect when a person is in the camera view, triggering the capture button and adding visual indicators.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/androidify-how-androidify-leverages-gemini-firebase-ml-kit.html\">Androidify: How Androidify leverages Gemini, Firebase and ML Kit<\/a><\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*z0dyicx1fAmZJvTV\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html\">Google I\/O 2025: What\u2019s new in Android development tools\u00a0\ud83e\udd16<\/a><\/h3>\n<p>The \u201c<a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html\">What\u2019s new in Android development tools<\/a>\u201d talk covered the Narwhal Feature Drop (2025.2.1) of Android Studio, bringing lots of new AI assistance features, Compose dev improvements, and more. Here are many of the highlights:<\/p>\n<ul>\n<li>You can now access <a href=\"https:\/\/deepmind.google\/models\/gemini\/pro\/\">Gemini 2.5 Pro<\/a> in Android\u00a0Studio<\/li>\n<li>Android Studio is getting a new Gemini-powered <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Version%20Upgrade%20Agent\">Version Upgrade Agent<\/a> to automate upgrading dependencies.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FubyPjBesW-8%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DubyPjBesW-8&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FubyPjBesW-8%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/a03704668cde69a69a9412e4fae28f8b\/href\">https:\/\/medium.com\/media\/a03704668cde69a69a9412e4fae28f8b\/href<\/a><\/iframe><\/p>\n<ul>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Journeys%20for%20Android%20Studio\">Journeys in Android Studio<\/a> lets you use natural language to describe actions and assertions for user journeys you want to test in your app, and Gemini performs the tests for\u00a0you.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FmP1tlIKK0R4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DmP1tlIKK0R4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FmP1tlIKK0R4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/7d4b88f619517b41ccbdd5f9bbb2bfa1\/href\">https:\/\/medium.com\/media\/7d4b88f619517b41ccbdd5f9bbb2bfa1\/href<\/a><\/iframe><\/p>\n<ul>\n<li>Gemini can automatically <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Compose%20preview%20generation%20with%20Gemini\">generate compose previews<\/a> for you. The Compose preview has navigation improvements that let you jump to the preview definition or function. While in focus mode, you can resize the preview window to see how the UI adapts. You can also <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Transform%20UI%20with%20Gemini\">transform UI code in the preview<\/a> using natural language, like \u201cCenter align these buttons.\u201d<\/li>\n<li>You can <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Image%20attachment%20in%20Gemini\">attach image files<\/a> along with your prompt, such as UI mock-ups.<\/li>\n<li>You can access the latest Android Studio AI features in stable release channels with <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=AI%20features%20in%20Studio%20Labs\">AI features in Studio\u00a0Labs<\/a>.<\/li>\n<li>The App Quality Insights panel now has <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Suggested%20fixes%20for%20crashes%20with%20Gemini\">crash insights<\/a> that analyze your app\u2019s source code, offering explanations and source code\u00a0fixes.<\/li>\n<li>The Android XR Emulator now launches by <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Embedded%20Android%20XR%20Emulator\">default in the embedded state<\/a>, so you can deploy your application and navigate the 3D space directly inside Android\u00a0Studio.<\/li>\n<li>You can now also <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Streamlined%20testing%20with%20Backup%20and%20Restore%20support\">trigger app backups on connected devices<\/a> directly from the Running Devices\u00a0window.<\/li>\n<li>Android Studio now offers warnings when building APKs or Android App Bundles that are <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Android's%20transition%20to%2016%20KB%20Page%20Size\">incompatible with 16 KB page sized\u00a0devices<\/a>.<\/li>\n<li>Also, when you sign in with your Google account or a JetBrains account, you can <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Backup%20and%20Sync%20your%20Studio%20settings\">sync your customizations and preferences across all installs<\/a>.<\/li>\n<li>New Android Studio <a href=\"https:\/\/developer.android.com\/kotlin\/multiplatform\/migrate\">KMP project templates<\/a>, updated <a href=\"https:\/\/developer.android.com\/kotlin\/multiplatform\">Jetpack libraries<\/a>, and new codelabs (<a href=\"https:\/\/developer.android.com\/codelabs\/kmp-get-started\">Get Started with KMP<\/a> and <a href=\"https:\/\/developer.android.com\/codelabs\/kmp-migrate-room\">Migrate Existing Apps to Room KMP<\/a>) have been released.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/studio\/preview\/android-studio-cloud\">Android Studio Cloud<\/a> is now available as an experimental public preview through Firebase\u00a0Studio.<\/li>\n<li>Android Studio will soon be able to offer <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html#:~:text=Play%20Policy%20Insights%20beta%20in%20Android%20Studio\">richer insights and guidance on Google Play policies<\/a> that might impact your app available in the form of lint\u00a0checks.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html\">Google I\/O 2025: What&#8217;s new in Android development tools<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FKXKP2tDPW4Y%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DKXKP2tDPW4Y&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FKXKP2tDPW4Y%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/0219d009df502a0793670c21895f88f4\/href\">https:\/\/medium.com\/media\/0219d009df502a0793670c21895f88f4\/href<\/a><\/iframe><\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*tc4nOoJuAKswoL0E\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html\">I\/O 2025: What\u2019s new in Google Play\u00a0\ud83d\udcca<\/a><\/h3>\n<p>At Google I\/O 2025 we highlighted new Play Console tools, updates to app discovery, changes to subscriptions, updates for games, and\u00a0more:<\/p>\n<h4>Tools and\u00a0APIs<\/h4>\n<ul>\n<li>Overview pages in the Play Console for \u201cTest and release\u201d and \u201cMonitor and improve\u201d bring together <a href=\"https:\/\/android-developers.googleblog.com\/2025\/04\/play-console-insights.html\">metrics, features, and contextual advice<\/a>.<\/li>\n<li>You will soon be able to <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html#:~:text=Halt%20fully-rolled%20out%20releases%20when%20needed\">halt fully-live releases<\/a> through Play Console and the Publishing API.<\/li>\n<li>The <a href=\"https:\/\/developer.android.com\/google\/play\/integrity\">Play Integrity API<\/a> has stronger abuse detection, device security update checks, and a public beta for device\u00a0recall.<\/li>\n<li>An asset library is available for uploading, editing, and viewing visual assets, and open metrics provide <a href=\"https:\/\/support.google.com\/googleplay\/android-developer\/answer\/9859173?hl=en&amp;sjid=14407705712869133246-EU#zippy=%2Cmetrics\">deeper insights<\/a> into listing performance.<\/li>\n<li>The Play Billing Library release 8<strong> <\/strong>is planned to be available to integrate with at the end of\u00a0June.<\/li>\n<\/ul>\n<h4>App discovery updates<\/h4>\n<ul>\n<li>New <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html#:~:text=new%20topic%20browse%20pages\">topic browse pages<\/a> feature timely and relevant content, debuting in the US with Media &amp; Entertainment.<\/li>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html#:~:text=Where%20to%20Watch\">\u201cWhere to Watch\u201d<\/a> is expanding to more markets to help users find and deep-link into subscribed apps for movies and\u00a0TV.<\/li>\n<li>Starting this July, everyone can now add a <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html#:~:text=hero%20content%20carousel\">hero content carousel<\/a> and a <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html#:~:text=YouTube%20playlist%20carousel\">YouTube playlist carousel<\/a> to their store listings.<\/li>\n<li>Audio samples are <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html#:~:text=launching%20audio%20samples%20on%20the%20Apps%20Home\">launching on Apps Home<\/a> for apps best experienced through\u00a0sound.<\/li>\n<li><a href=\"https:\/\/goo.gle\/play-engagesdk\">Engage SDK<\/a> content is coming to the <a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html#:~:text=Engage%20SDK%20content%20is%20coming%20to%20the%20Play%20Store%20this%20summer\">Play Store this summer<\/a>, with new content categories and Collections rolling out globally. <a href=\"https:\/\/developer.android.com\/codelabs\/engage-sdk-codelab\">Try the\u00a0codelab!<\/a><\/li>\n<li>You can learn more about how to grow your business on Google Play in the following talk:<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FT41OD37tI54%3Flist%3DPLWz5rJ2EKKc86SrjccwTtBzH4Ptu3Mrai&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DT41OD37tI54&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FT41OD37tI54%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/e85fa22efbcc0373a1b498fb5d4ae23d\/href\">https:\/\/medium.com\/media\/e85fa22efbcc0373a1b498fb5d4ae23d\/href<\/a><\/iframe><\/p>\n<h4>Subscription updates<\/h4>\n<ul>\n<li><a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html#:~:text=multi-product%20checkout%20for%20subscriptions\">Multi-product checkout for subscriptions<\/a> lets you sell subscription add-ons alongside base subscriptions.<\/li>\n<li>Subscription benefits are showcased in more places across\u00a0Play.<\/li>\n<li>You can now choose a grace period or an account hold instead of immediate cancellation when payment methods\u00a0decline.<\/li>\n<\/ul>\n<h4>Game updates<\/h4>\n<ul>\n<li>Play Games on PC has expanded support, with more native PC games coming alongside the Android game catalog, and an earnback up to\u00a015%<\/li>\n<li>Google Play Games Services is adding new features to boost player engagement, including bulk achievement creation via CSV upload and generative AI avatars for player profiles.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2Fv-6b_wWF96U%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3Dv-6b_wWF96U&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2Fv-6b_wWF96U%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/599d05342e167092d98bb4d44dd76da7\/href\">https:\/\/medium.com\/media\/599d05342e167092d98bb4d44dd76da7\/href<\/a><\/iframe><\/p>\n<p>Check out the I\/O talk or the blog post to learn more with more in-depth coverage.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FPOUqfDBtRbg%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DPOUqfDBtRbg&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FPOUqfDBtRbg%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/05414dff13862231a9509773b12def50\/href\">https:\/\/medium.com\/media\/05414dff13862231a9509773b12def50\/href<\/a><\/iframe><\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html\">I\/O 2025: What&#8217;s new in Google Play<\/a><\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*l2hRWkEZxpxWJXg5\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/android-kotlin-multiplatform-google-io-kotlinconf-2025.html\">Kotlin Multiplatform at Google I\/O and KotlinConf 25\u00a0\ud83d\udcf1\ud83d\udcbb<\/a><\/h3>\n<p>At Google I\/O and KotlinConf 2025, several Kotlin Multiplatform (KMP) updates were announced:<\/p>\n<ul>\n<li><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/kotlin-multiplatform-shared-module-templates.html\"><strong>Kotlin Multiplatform Shared Module Template<\/strong><\/a>\u200a\u2014\u200aAndroid Studio introduced a Kotlin Multiplatform Shared Module Template that is available when you create a new module in Android Studio, supporting Jetpack libraries like <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/room\">Room<\/a>, <a href=\"https:\/\/developer.android.com\/reference\/androidx\/sqlite\/SQLite\">SQLite<\/a>, and <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/datastore\">DataStore<\/a>.<\/li>\n<\/ul>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/kotlin-multiplatform-shared-module-templates.html\">Announcing Kotlin Multiplatform Shared Module Template<\/a><\/p>\n<ul>\n<li><a href=\"https:\/\/www.youtube.com\/watch?v=gP5Y-ct6QXI\"><strong>Demystify KMP builds and structure<\/strong><\/a>\u200a\u2014\u200aIs an I\/O talk that acts as a primer for Kotlin Multiplatform (KMP), covering how it enables sharing code across platforms (Android, iOS, web) resulting in faster feature delivery (e.g., StoneCo ships features 40%\u00a0faster).<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FgP5Y-ct6QXI%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DgP5Y-ct6QXI&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FgP5Y-ct6QXI%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/22a722c63eef357c27f5965ebedd92a6\/href\">https:\/\/medium.com\/media\/22a722c63eef357c27f5965ebedd92a6\/href<\/a><\/iframe><\/p>\n<ul>\n<li><strong>More Jetpack Libraries now have KMP support<\/strong>\u200a\u2014\u200a<a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/collection\">Collection<\/a>. <a href=\"https:\/\/developer.android.com\/reference\/android\/arch\/lifecycle\/ViewModel\">ViewModel<\/a>, <a href=\"https:\/\/developer.android.com\/reference\/androidx\/savedstate\/SavedState\">SavedState<\/a>, and <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/paging\">Paging<\/a> are now supported alongside <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/room\">Room<\/a>, and <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/datastore\">DataStore<\/a>.<\/li>\n<li><strong>Two new codelabs:<\/strong> \u201c<a href=\"https:\/\/developer.android.com\/codelabs\/kmp-get-started\">Getting started with Kotlin Multiplatform<\/a>\u201d and \u201c<a href=\"https:\/\/developer.android.com\/codelabs\/kmp-migrate-room\">Migrating your Room database to KMP<\/a>\u201d provide additional guidance for using\u00a0KMP.<\/li>\n<\/ul>\n<p>Also in Kotlin-related news:.<\/p>\n<ul>\n<li><strong>Android Studio now supports Kotlin K2 mode<\/strong> for Android-specific features.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/build\/migrate-to-ksp\"><strong>Kotlin Symbol Processing<\/strong><\/a> (KSP2) is stable for better support of new Kotlin language features and performance.<\/li>\n<li><strong>Google Workspace is using KMP in production<\/strong> in the Google Docs app on\u00a0iOS.<\/li>\n<li><strong>Google team members<\/strong> presented talks and live workshops at KotlinConf, covering topics such as deploying KMP at Google Workspace, the lifecycle of a Kotlin\/Native object, APIs, Compose for Desktop, JSpecify, and decoupling Architecture Components.<\/li>\n<li>In <a href=\"https:\/\/www.youtube.com\/watch?v=DP7O_a8wIwQ\"><strong>Kotlin Multiplatform: Have your code and eat it too \ud83c\udf82<\/strong><\/a> on Android Developers Backstage, Dustin Lam and Yigit Boyar joined host Tor Norbye to chat all about Kotlin Multiplatform (KMP), which allows you to write Kotlin code and run it just about anywhere. Learn about how to make sure your code is KMP ready, avoiding platform-specific assumptions.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=%2F%2Fhtml5-player.libsyn.com%2Fembed%2Fepisode%2Fid%2F36470625%2Fheight%2F90%2Ftheme%2Fcustom%2Fthumbnail%2Fyes%2Fdirection%2Fforward%2Frender-playlist%2Fno%2Fcustom-color%2F88AA3C%2F&amp;display_name=Libsyn&amp;url=https%3A%2F%2Fadbackstage.libsyn.com%2Fkotlin-multiplatform-have-your-code-and-eat-it-too&amp;image=https%3A%2F%2Fassets.libsyn.com%2Fsecure%2Fitem%2F36470625&amp;type=text%2Fhtml&amp;schema=libsyn\" width=\"600\" height=\"90\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/8f5ff95a23c80a9c906df94d5a8d74fd\/href\">https:\/\/medium.com\/media\/8f5ff95a23c80a9c906df94d5a8d74fd\/href<\/a><\/iframe><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FDP7O_a8wIwQ%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DDP7O_a8wIwQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FDP7O_a8wIwQ%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/52aa1685e27d3f5ae581eff65220f101\/href\">https:\/\/medium.com\/media\/52aa1685e27d3f5ae581eff65220f101\/href<\/a><\/iframe><\/p>\n<p>You can read all of the KMP updates in the\u00a0blog.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/android-kotlin-multiplatform-google-io-kotlinconf-2025.html\">Android&#8217;s Kotlin Multiplatform announcements at Google I\/O and KotlinConf 25<\/a><\/p>\n<h3><a href=\"https:\/\/android-developers.googleblog.com\/\">Articles \ud83d\udcda<\/a><\/h3>\n<p>And those weren\u2019t the only highlights from the I\/O season worth talking\u00a0about.<\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*txE66Xb0r8By7VNY\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/announcing-jetpack-navigation-3-for-compose.html\">Announcing Jetpack Navigation 3\u00a0\ud83e\udded<\/a><\/h3>\n<p>As mentioned in the Compose highlights, we announced <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/navigation3\">Jetpack Navigation 3<\/a> (Nav3) a Compose-first navigation library that enables you to build scalable navigation experiences.<\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*x3ix8lgT3stTaKc1\"><\/figure>\n<p>The Nav3 display observes changes to the developer-owned back\u00a0stack.<\/p>\n<p>With Nav3, you own the back stack, which is backed by Compose state. Nav3 provides building blocks and helpful defaults that you can use to create custom navigation behavior.<\/p>\n<p>Key features:<\/p>\n<ul>\n<li>Built-in transition animations and a <a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\/animate-destinations\">flexible API for custom animations<\/a>.<\/li>\n<li>Contains <a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\/custom-layouts\">Scenes<\/a>, a flexible layout API that allows you to render multiple destinations in the same\u00a0layout.<\/li>\n<li>Enables state to be scoped to destinations on the back stack, including optional ViewModel support via a <a href=\"https:\/\/developer.android.com\/guide\/navigation\/navigation-3\/save-state#scoping-viewmodels\">dedicated Jetpack lifecycle library<\/a>.<\/li>\n<li>Allows navigation code to be split across multiple\u00a0modules.<\/li>\n<\/ul>\n<p>You can navigate to the developer documentation and a recipes repository to get\u00a0started.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/announcing-jetpack-navigation-3-for-compose.html\">Announcing Jetpack Navigation 3<\/a><\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*cX8gTr0PdHrXTt94\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/zoho-achieves-faster-logins-passkey-credential-manager-integration.html\">Zoho Achieves 6x Faster Logins with Passkey and Credential Manager Integration \ud83d\udd11<\/a><\/h3>\n<p>Zoho integrated passkeys and Android\u2019s Credential Manager API into their OneAuth Android app. As a result, they achieved up to 6x faster logins and a 31% month-over-month growth in passkey adoption. Zoho\u2019s implementation involved both client and server-side adjustments, including adapting their credential storage system and handling requests from Android devices. Based on their experience, consider leveraging Android\u2019s Credential Manager API, optimizing error handling, educating users on passkey recovery, and monitoring adoption metrics as you implement passkeys in your\u00a0apps.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/zoho-achieves-faster-logins-passkey-credential-manager-integration.html\">Zoho Achieves 6x Faster Logins with Passkey and Credential Manager Integration<\/a><\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*rllP7JavT16qP7AA\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/android-studio-meerkat-feature-drop-is-stable.html\">Android Studio Meerkat Feature Drop is stable\u00a0\ud83d\udcbb<\/a><\/h3>\n<p>The Android Studio Meerkat Feature Drop (2024.3.2) is now stable, offering features such as the Gemini Prompt Library, improved Kotlin Multiplatform (KMP) integration, and device management enhancements.<\/p>\n<p>Key updates:<\/p>\n<ul>\n<li><strong>Gemini Integration:<\/strong> Use Gemini to analyze crash reports in App Quality Insights, generate unit test scenarios, and save\/share prompts with the new Prompt\u00a0Library.<\/li>\n<li><strong>Compose and UI Development:<\/strong> Preview themed icons and use improved zoom and collapsible groups in Compose previews.<\/li>\n<li><strong>Build and Deploy:<\/strong> Add shared logic with the KMP Shared Module template and use the updated Device Manager UX. Receive warnings for deprecated SDKs from the Google Play SDK Index. The Build menu has also been\u00a0refined.<\/li>\n<li><strong>IntelliJ Platform Update:<\/strong> Includes the IntelliJ 2024.3 platform release with a feature complete K2 mode and debugger improvements.<\/li>\n<\/ul>\n<p>Download the latest stable version of Android Studio to explore these features.<\/p>\n<p><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/android-studio-meerkat-feature-drop-is-stable.html\">Android Studio Meerkat Feature Drop is stable<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FuZsFi7OehVU%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DuZsFi7OehVU&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FuZsFi7OehVU%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/a54e1cc62e86af779d7138b21d2d2ef1\/href\">https:\/\/medium.com\/media\/a54e1cc62e86af779d7138b21d2d2ef1\/href<\/a><\/iframe><\/p>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*8k6q9WqtoOYLZFKj\"><\/figure>\n<h3><a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/weareplay-my-lovely-planet-environmental-preservation-game.html\">#WeArePlay: How My Lovely Planet is making environmental preservation fun through games\u00a0\ud83c\udf33<\/a><\/h3>\n<p>Cl\u00e9ment, founder of Imagine Games, created <a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.mylovelyplanet.mylovelyforests\">My Lovely Planet<\/a>, which combines mobile gaming with real-world action to make environmental preservation fun. In the game, planting a tree results in planting a real tree via partnerships with NGOs. According to Cl\u00e9ment, 70% of the game\u2019s players come through Google Play, and Google Play\u2019s flexibility, responsiveness, and powerful testing tools improve their velocity when launching and scaling the\u00a0game.<\/p>\n<p><a href=\"https:\/\/android-developers.googleblog.com\/2025\/05\/weareplay-my-lovely-planet-environmental-preservation-game.html\">#WeArePlay: How My Lovely Planet is making environmental preservation fun through games<\/a><\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FTrgDdhvzwt4%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DTrgDdhvzwt4&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FTrgDdhvzwt4%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/c0b63230dcf23fb9fc16d3dd0bce9188\/href\">https:\/\/medium.com\/media\/c0b63230dcf23fb9fc16d3dd0bce9188\/href<\/a><\/iframe><\/p>\n<p><a href=\"https:\/\/play.google.com\/console\/about\/weareplay\/\">#WeArePlay | Google Play Console<\/a><\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/user\/androiddevelopers\">Videos \ud83d\udcf9<\/a><\/h3>\n<h3><a href=\"https:\/\/www.youtube.com\/watch?v=fKY6qYxytLI&amp;pp=ygUdYW5kcm9pZCBhY2Nlc3NpYmlsaXR5IHVwZGF0ZXM%3D\">Android Accessibility Updates<\/a><\/h3>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=fKY6qYxytLI&amp;pp=ygUdYW5kcm9pZCBhY2Nlc3NpYmlsaXR5IHVwZGF0ZXM%3D\">\u201cAndroid accessibility updates<\/a>\u201d highlights the latest Android key accessibility features and APIs, including updates to products such as Talkback and Live Captions, best practices for developing more accessible apps, and accessibility API changes in Android\u00a016.<\/p>\n<p>Key takeaways include:<\/p>\n<ul>\n<li><strong>Accessibility Test Framework:<\/strong> The accessibility test framework can identify potential issues and throw exceptions, failing tests. Developers can customize this behavior by providing their own accessibility validator instances, allowing them to configure severity levels for failures and suppress known\u00a0issues.<\/li>\n<li><strong>Composable Previews in Android Studio:<\/strong> Android Studio\u2019s composable previews can now render UI with accessibility features like dark theme, and various display and font sizes. This helps identify issues such as low contrast, non-scaling, or truncated text, and works with UI check mode to quickly identify common UI issues across different configurations.<\/li>\n<li><strong>Automated Checks:<\/strong> Automated accessibility checks accelerate the detection of various accessibility barriers and complement manual testing. Developers are strongly encouraged to test apps with Android\u2019s assistive technologies to understand user experience.<\/li>\n<li><strong>API Changes and Best Practices:<\/strong> The video discusses changes in APIs and best practices related to vision, hearing, and dexterity. It emphasizes the importance of building a single adaptive mobile app that provides the best experiences across various Android surfaces and form\u00a0factors.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FfKY6qYxytLI%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DfKY6qYxytLI&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FfKY6qYxytLI%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/9b1c85e33100b81b1a133c79915545fb\/href\">https:\/\/medium.com\/media\/9b1c85e33100b81b1a133c79915545fb\/href<\/a><\/iframe><\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/watch?v=2IAoYnzCTvw\">Best practices for using web in your Android\u00a0apps<\/a><\/h3>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=2IAoYnzCTvw\">\u201cBest practices for using web in your Android apps<\/a>\u201d covers what you should do when embedding web content in your Android apps using <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/android\/webkit\/WebView\">WebView<\/a>, <a href=\"https:\/\/developer.android.com\/develop\/ui\/views\/layout\/webapps\/overview-of-android-custom-tabs\">Custom Tabs<\/a>, and <a href=\"https:\/\/developer.android.com\/develop\/ui\/views\/layout\/webapps\/trusted-web-activities\">Trusted Web Activities<\/a> (TWA). WebView allows inline display of web content with full customization, while Custom Tabs provide an in-app browsing experience powered by the user\u2019s preferred browser (handling permissions, cookies, etc.). TWAs offer similar web features\/APIs but are launched as a standard Android activity. The choice depends on the level of control and integration needed within your\u00a0app.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2F2IAoYnzCTvw%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3D2IAoYnzCTvw&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2F2IAoYnzCTvw%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/c64a00ee4905fc1c1405124072143f98\/href\">https:\/\/medium.com\/media\/c64a00ee4905fc1c1405124072143f98\/href<\/a><\/iframe><\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/watch?v=Wl7QvP2eDbA\">Next-gen Android experiences with photorealistic 3D\u00a0maps<\/a><\/h3>\n<p><a href=\"https:\/\/www.youtube.com\/watch?v=Wl7QvP2eDbA\">\u201cNext-gen Android experiences with photorealistic 3D maps<\/a> \u201c introduces the new Kotlin-first Google Maps 3D SDK for Android, allowing you to create immersive map experiences with 3D capabilities. Topics covered\u00a0include:<\/p>\n<ul>\n<li><strong>Map 3D View<\/strong>: The fundamental building block for 3D\u00a0maps.<\/li>\n<li><strong>LatLngAltitude class<\/strong>: Used for precise positioning with altitude\u00a0data.<\/li>\n<li><strong>Camera class<\/strong>: For controlling the camera\u2019s position and view, including limiting camera views to specific\u00a0areas.<\/li>\n<li><strong>Adding elements<\/strong>: You can add markers, 3D models, polygons, and polylines to highlight areas, define routes, or convey spatial information. Polygons are closed, filled shapes that can have holes, while polylines are not\u00a0closed.<\/li>\n<\/ul>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FWl7QvP2eDbA%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DWl7QvP2eDbA&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FWl7QvP2eDbA%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/32df3e82ef808149768866ea0a5aebbe\/href\">https:\/\/medium.com\/media\/32df3e82ef808149768866ea0a5aebbe\/href<\/a><\/iframe><\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/watch?v=HZvb2t3ZBBg\">Google Home APIs, tools, and Gemini capabilities for your\u00a0apps<\/a><\/h3>\n<p>Announcements include:<\/p>\n<ul>\n<li><strong>Camera Support in the Home API:<\/strong> Apps will soon be able to access Gemini camera feeds for intelligent notifications (person detection, package delivery).<\/li>\n<li><strong>Enhanced Automations:<\/strong> The Home API now supports suggested automations, and date\/weather-based settings for greater customization.<\/li>\n<li><strong>Gemini Integration:<\/strong> You will be able to integrate devices with Gemini\u2019s AI capabilities via Google\u00a0Home.<\/li>\n<\/ul>\n<p><a href=\"https:\/\/services.google.com\/fb\/forms\/GoogleSmartHomeSignup\/\">Sign up for the Developer Newsletter<\/a> to be among the first to explore these cutting-edge capabilities and to stay updated on the latest developments.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FHZvb2t3ZBBg%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DHZvb2t3ZBBg&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FHZvb2t3ZBBg%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/aa95f96f4e9a2538acb28b32a9369de8\/href\">https:\/\/medium.com\/media\/aa95f96f4e9a2538acb28b32a9369de8\/href<\/a><\/iframe><\/p>\n<p><a href=\"https:\/\/developers.googleblog.com\/en\/bringing-gemini-intelligence-to-google-home-apis\/\">Bringing Gemini intelligence to Google Home APIs<\/a><\/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 some of the most impactful AndroidX changes. Key takeaways:<\/p>\n<ul>\n<li><strong>Compose Navigation:<\/strong> The new Navigation3 library and its ViewModel integration are a significant shift for Compose-based apps, offering better control and lifecycle management.<\/li>\n<li><strong>Media Enhancements:<\/strong> The Media3 ExoPlayer updates are extensive, improving performance, stability, and adding requested features like scrubbing mode and partial downloads.<\/li>\n<li><strong>Passkey Improvements:<\/strong> Support for passkey conditional creation provides a more seamless user experience.<\/li>\n<\/ul>\n<h4><strong>Navigation 3 related\u00a0changes:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/navigation3\"><strong>androidx.navigation3:navigation3<\/strong><\/a><strong>:<\/strong> A new navigation library specifically designed for Jetpack Compose in-app navigation. It provides core building blocks (<a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/navigation3\/runtime\/package-summary\">navigation3-runtime<\/a>) and a UI layer via the <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/navigation3\/ui\/NavDisplay\">NavDisplay<\/a> API (<a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/navigation3\/ui\/package-summary\">navigation3-ui<\/a>). You control navigation by updating the state passed to NavDisplay, making it a powerful tool for Compose-based apps.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/lifecycle#lifecycle-viewmodel-navigation3-1.0.0-alpha01\"><strong>androidx.lifecycle:lifecycle-viewmodel-navigation3<\/strong><\/a><strong>:<\/strong> Integrates ViewModels with the new Navigation3 library. ViewModelStoreNavEntryDecorator gives each NavEntry its own ViewModelStoreOwner, ensuring ViewModels are scoped to the correct navigation destination. Crucial for managing UI state within Compose navigation.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/navigationevent\"><strong>androidx.navigationevent:navigationevent<\/strong><\/a><strong>:<\/strong> Provides a KMP-first API for handling system back and Predictive Back. This library serves as a replacement for Activity\u00a0APIs.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/activity#1.12.0-alpha01\"><strong>androidx.activity:activity-*:1.12.0-alpha01:<\/strong><\/a> Integrated with <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/navigationevent#1.0.0-alpha01\">NavigationEvent 1.0.0-alpha01<\/a> via NavigationEventDispatcherOwner, allowing you to manage back navigation using <a href=\"https:\/\/developer.android.com\/reference\/androidx\/navigationevent\/NavigationEventDispatcher\">NavigationEventDispatcher<\/a> and <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/navigationevent\/NavigationEventCallback\">NavigationEventCallback<\/a>. Existing <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/activity\/OnBackPressedDispatcher\">OnBackPressedDispatcher<\/a> usages should continue working because it has been rewritten on top of the new\u00a0library.<\/li>\n<\/ul>\n<h4><strong>Media:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/media3#1.8.0-alpha01\"><strong>androidx.media3:media3-*:1.8.0-alpha01:<\/strong><\/a> Significant updates to <a href=\"https:\/\/developer.android.com\/reference\/androidx\/media3\/exoplayer\/ExoPlayer\">ExoPlayer<\/a>, including a new scrubbing mode for frequent seeks, improvements to audio timestamp smoothing, various bug fixes (memory leaks, subtitle issues), and partial download support for both progressive and adaptive streams. Also adds <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/media3\/exoplayer\/source\/preload\/PreCacheHelper\">PreCacheHelper<\/a> to allow apps to pre-cache a single media with specified start position and duration.<\/li>\n<\/ul>\n<h4><strong>Car App\u00a0Library:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/car-app#1.8.0-alpha01\"><strong>androidx.car.app:app-*:1.8.0-alpha01:<\/strong><\/a> Adds a Media category for custom media apps, a Playback Template for controlling actions during media playback, and full support for Sectioned Item Template for complex layouts. Also introduces an extra-large grid item\u00a0size.<\/li>\n<\/ul>\n<h4><strong>App Functions:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/appfunctions#1.0.0-alpha01\"><strong>androidx.appfunctions:appfunctions-*\u00a0:`1.0.0-alpha01:<\/strong><\/a> New library to expose app functionality to the Assistant.<\/li>\n<\/ul>\n<h4><strong>Credentials:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/credentials#e2ee-1.0.0-alpha01\"><strong>androidx.credentials:credentials-*: 1.6.0-alpha01<\/strong><\/a><strong> &amp; <\/strong><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/credentials-providerevents#1.0.0-alpha01\"><strong>androidx.credentials.providerevents:providerevents:1.0.0-alpha01<\/strong><\/a><strong>:<\/strong> Supports Passkey conditional create, allowing passkeys to be created without requiring typical UI interaction from the user. Also added a new service, <a href=\"https:\/\/developer.android.com\/reference\/kotlin\/androidx\/credentials\/providerevents\/service\/CredentialProviderEventsService\">CredentialProviderEventsService<\/a>, that credential providers can support to receive events from Credential Manager\u00a0APIs.<\/li>\n<\/ul>\n<h4><strong>Glance Widgets:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/glance#1.2.0-alpha01\"><strong>androidx.glance:glance-*:1.2.0-alpha01<\/strong><\/a><strong>:<\/strong> Adds APIs for generated previews in <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/glance\">Glance<\/a> widgets and multiprocess configurations support. Adds a new API to specify alpha for the glance Image composable and the background image modifier.<\/li>\n<\/ul>\n<h4><strong>Other Updates:<\/strong><\/h4>\n<ul>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/health#health_services_client_version_10_2\"><strong>androidx.health:health-services-client:1.0.0<\/strong><\/a>: Stable release of the Health Services Client library for Wear OS 3 emulators and upcoming devices, with additional platforms supported in the future. Three top level API surfaces are included in this initial release: The ExerciseClient, PassiveMonitoringClient, and MeasureClient.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/hilt#1.3.0-alpha01\"><strong>androidx.hilt:hilt-*:1.3.0-alpha01<\/strong><\/a><strong>:<\/strong> Updates the library and annotation processor to target Kotlin 2.0 to support newer Kotlin toolchain including KSP2.<\/li>\n<li><a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/releases\/recyclerview#recyclerview-selection-1.2.0\"><strong>androidx.recyclerview:recyclerview-selection:1.2.0<\/strong><\/a><strong>:<\/strong> Fixes for mouse drags and key\/position mapping.<\/li>\n<\/ul>\n<h3><a href=\"http:\/\/adbackstage.libsyn.com\/\">Android Developers Backstage<\/a><\/h3>\n<figure><img decoding=\"async\" alt=\"\" src=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*02atHH0PNLGatpS-\"><\/figure>\n<p>This was covered in the previous Kotlin Multiplatform section, but just in-case you missed it, Android Developers Backstage is back with another\u00a0episode.<\/p>\n<h3><a href=\"https:\/\/www.youtube.com\/watch?v=DP7O_a8wIwQ\">Kotlin Multiplatform: Have your code and eat it too\u00a0\ud83c\udf82<\/a><\/h3>\n<p>Dustin Lam and Yigit Boyar joined host Tor Norbye to chat all about Kotlin Multiplatform (KMP), which allows you to write Kotlin code and run it just about anywhere. Learn about how to make sure your code is KMP ready, avoiding platform-specific assumptions.<\/p>\n<p><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=%2F%2Fhtml5-player.libsyn.com%2Fembed%2Fepisode%2Fid%2F36470625%2Fheight%2F90%2Ftheme%2Fcustom%2Fthumbnail%2Fyes%2Fdirection%2Fforward%2Frender-playlist%2Fno%2Fcustom-color%2F88AA3C%2F&amp;display_name=Libsyn&amp;url=https%3A%2F%2Fadbackstage.libsyn.com%2Fkotlin-multiplatform-have-your-code-and-eat-it-too&amp;image=https%3A%2F%2Fassets.libsyn.com%2Fsecure%2Fitem%2F36470625&amp;type=text%2Fhtml&amp;schema=libsyn\" width=\"600\" height=\"90\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/8f5ff95a23c80a9c906df94d5a8d74fd\/href\">https:\/\/medium.com\/media\/8f5ff95a23c80a9c906df94d5a8d74fd\/href<\/a><\/iframe><iframe loading=\"lazy\" src=\"https:\/\/cdn.embedly.com\/widgets\/media.html?src=https%3A%2F%2Fwww.youtube.com%2Fembed%2FDP7O_a8wIwQ%3Ffeature%3Doembed&amp;display_name=YouTube&amp;url=https%3A%2F%2Fwww.youtube.com%2Fwatch%3Fv%3DDP7O_a8wIwQ&amp;image=https%3A%2F%2Fi.ytimg.com%2Fvi%2FDP7O_a8wIwQ%2Fhqdefault.jpg&amp;type=text%2Fhtml&amp;schema=youtube\" width=\"854\" height=\"480\" frameborder=\"0\" scrolling=\"no\"><a href=\"https:\/\/medium.com\/media\/52aa1685e27d3f5ae581eff65220f101\/href\">https:\/\/medium.com\/media\/52aa1685e27d3f5ae581eff65220f101\/href<\/a><\/iframe><\/p>\n<h3>Now then\u2026\u00a0\ud83d\udc4b<\/h3>\n<p>That\u2019s it for part two of our I\/O season coverage, with the latest around <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/whats-new-in-jetpack-compose.html\">Jetpack Compose<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/building-delightful-android-camera-media-experiences.html\">Camera and Media<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=fKY6qYxytLI&amp;pp=ygUdYW5kcm9pZCBhY2Nlc3NpYmlsaXR5IHVwZGF0ZXM%3D\">Accessibility<\/a>\u00a0,<a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/android-kotlin-multiplatform-google-io-kotlinconf-2025.html\">Kotlin Multiplatform<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/google-io-2025-whats-new-in-android-development-tools.html\">Android development tools<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=Wl7QvP2eDbA\">Google Maps<\/a>, <a href=\"https:\/\/developer.android.com\/jetpack\/androidx\/versions\/all-channel\">AndroidX<\/a>, <a href=\"https:\/\/www.youtube.com\/watch?v=BmEuE_Er-Fs\">Google Home with Gemini<\/a>, integrating <a href=\"https:\/\/www.youtube.com\/watch?v=2IAoYnzCTvw\">web functionality<\/a>, <a href=\"http:\/\/android-developers.googleblog.com\/2025\/05\/io-2025-whats-new-in-google-play.html\">Google Play<\/a>, and\u00a0more.<\/p>\n<p>Check back soon for your next update from the Android developer universe!<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/medium.com\/_\/stat?event=post.clientViewed&amp;referrerSource=full_rss&amp;postId=0176766c2061\" width=\"1\" height=\"1\" alt=\"\"><\/p>\n<hr>\n<p><a href=\"https:\/\/medium.com\/androiddevelopers\/now-in-android-118-google-i-o-2025-part-ii-0176766c2061\">Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part II<\/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_3584\" class=\"pvc_stats total_only\" data-element-id=\"3584\" 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>Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part\u00a0II Compose, Camera and Media, Accessibility\u00a0,KMP, Tools, Maps, AndroidX, Google Home, integrating the web, Google Play, and\u00a0more Welcome to part two of a special Google I\/O 2025 edition of Now in Android, your ongoing<\/p>\n<div class=\"hosteria-entry-more\"><a href=\"https:\/\/dev95.site\/ar\/now-in-android-118-google-i-o-2025-part-ii\/\" 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_3584\" class=\"pvc_stats total_only\" data-element-id=\"3584\" 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":0,"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-3584","post","type-post","status-publish","format-standard","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 #118\u200a\u2014\u200aGoogle I\/O 2025 Part II - 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-118-google-i-o-2025-part-ii\/\" \/>\n<meta property=\"og:locale\" content=\"ar_AR\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part II - Dev95\" \/>\n<meta property=\"og:description\" content=\"Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part\u00a0II Compose, Camera and Media, Accessibility\u00a0,KMP, Tools, Maps, AndroidX, Google Home, integrating the web, Google Play, and\u00a0more Welcome to part two of a special Google I\/O 2025 edition of Now in Android, your ongoingRead more &gt;&gt;&gt;\" \/>\n<meta property=\"og:url\" content=\"https:\/\/dev95.site\/ar\/now-in-android-118-google-i-o-2025-part-ii\/\" \/>\n<meta property=\"og:site_name\" content=\"Dev95\" \/>\n<meta property=\"article:published_time\" content=\"2026-09-23T10:11:05+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*DGhSo0oIKFVorFLA\" \/>\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=\"19 \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-118-google-i-o-2025-part-ii\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/\"},\"author\":{\"name\":\"dev95\",\"@id\":\"https:\\\/\\\/dev95.site\\\/#\\\/schema\\\/person\\\/b807805ffe2916206b04d0938bce0298\"},\"headline\":\"Now in Android #118\u200a\u2014\u200aGoogle I\\\/O 2025 Part II\",\"datePublished\":\"2026-09-23T10:11:05+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/\"},\"wordCount\":3946,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn-images-1.medium.com\\\/max\\\/1024\\\/0*DGhSo0oIKFVorFLA\",\"articleSection\":[\"Android\"],\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/\",\"url\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/\",\"name\":\"Now in Android #118\u200a\u2014\u200aGoogle I\\\/O 2025 Part II - Dev95\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn-images-1.medium.com\\\/max\\\/1024\\\/0*DGhSo0oIKFVorFLA\",\"datePublished\":\"2026-09-23T10:11:05+00:00\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/#breadcrumb\"},\"inLanguage\":\"ar\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"ar\",\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn-images-1.medium.com\\\/max\\\/1024\\\/0*DGhSo0oIKFVorFLA\",\"contentUrl\":\"https:\\\/\\\/cdn-images-1.medium.com\\\/max\\\/1024\\\/0*DGhSo0oIKFVorFLA\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/dev95.site\\\/now-in-android-118-google-i-o-2025-part-ii\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/dev95.site\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Now in Android #118\u200a\u2014\u200aGoogle I\\\/O 2025 Part II\"}]},{\"@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 #118\u200a\u2014\u200aGoogle I\/O 2025 Part II - 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-118-google-i-o-2025-part-ii\/","og_locale":"ar_AR","og_type":"article","og_title":"Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part II - Dev95","og_description":"Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part\u00a0II Compose, Camera and Media, Accessibility\u00a0,KMP, Tools, Maps, AndroidX, Google Home, integrating the web, Google Play, and\u00a0more Welcome to part two of a special Google I\/O 2025 edition of Now in Android, your ongoingRead more &gt;&gt;&gt;","og_url":"https:\/\/dev95.site\/ar\/now-in-android-118-google-i-o-2025-part-ii\/","og_site_name":"Dev95","article_published_time":"2026-09-23T10:11:05+00:00","og_image":[{"url":"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*DGhSo0oIKFVorFLA","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":"19 \u062f\u0642\u064a\u0642\u0629"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/#article","isPartOf":{"@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/"},"author":{"name":"dev95","@id":"https:\/\/dev95.site\/#\/schema\/person\/b807805ffe2916206b04d0938bce0298"},"headline":"Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part II","datePublished":"2026-09-23T10:11:05+00:00","mainEntityOfPage":{"@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/"},"wordCount":3946,"commentCount":0,"publisher":{"@id":"https:\/\/dev95.site\/#organization"},"image":{"@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*DGhSo0oIKFVorFLA","articleSection":["Android"],"inLanguage":"ar","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/","url":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/","name":"Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part II - Dev95","isPartOf":{"@id":"https:\/\/dev95.site\/#website"},"primaryImageOfPage":{"@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/#primaryimage"},"image":{"@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*DGhSo0oIKFVorFLA","datePublished":"2026-09-23T10:11:05+00:00","breadcrumb":{"@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/#breadcrumb"},"inLanguage":"ar","potentialAction":[{"@type":"ReadAction","target":["https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/"]}]},{"@type":"ImageObject","inLanguage":"ar","@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/#primaryimage","url":"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*DGhSo0oIKFVorFLA","contentUrl":"https:\/\/cdn-images-1.medium.com\/max\/1024\/0*DGhSo0oIKFVorFLA"},{"@type":"BreadcrumbList","@id":"https:\/\/dev95.site\/now-in-android-118-google-i-o-2025-part-ii\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/dev95.site\/"},{"@type":"ListItem","position":2,"name":"Now in Android #118\u200a\u2014\u200aGoogle I\/O 2025 Part II"}]},{"@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":"","_links":{"self":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts\/3584","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=3584"}],"version-history":[{"count":0,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/posts\/3584\/revisions"}],"wp:attachment":[{"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/media?parent=3584"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/categories?post=3584"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/dev95.site\/ar\/wp-json\/wp\/v2\/tags?post=3584"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}