ProAndroidDev - Medium
Features You Waited For So Long in Kotlin
Some Kotlin features get a lot of attention when they arrive. Others are much less noticeable, but still make everyday code a little easier to write. Two examples of the latter are allDistinctBy/ allEqualBy in Kotlin 2.4.20 and context-sensitive resolution, which was introduced experimentally in
ProAndroidDev - Medium
On-Device AI Series (Part 5): LiteRT-LM
Engine owns the loaded model and backend selection — expensive to create, meant to be reused.Session owns only the conversation state riding on top of it — cheap to create, and disposable per conversation or per benchmark run. LiteRT-LM doesn’t replace the LiteRT engine from
ProAndroidDev - Medium
Koko, KMP Starter Kit — Part 3: Publishing: Your App in the Stores
for testing in part 2, remove it and set CLOUD_FUNCTIONS_URL to your deployed backend. A direct key gets compiled into the app and can be exposed.Feature flag defaults. FeatureFlagManager holds the values the app ships with default values, like whether ads and analytics are on.Quality
ProAndroidDev - Medium
Build Setup: Targets, Source Sets and buildSrc for tvOS in a Compose Multiplatform Fork
My Journey Making Compose Multiplatform Work on tvOS, and What I LearnedBuild Setup: Targets, Source Sets and buildSrc for tvOS in a Compose Multiplatform Fork (this post)Rendering (coming soon)Siri Remote input (coming soon)Siri Remote trackpad (coming soon)Screen density and text input (coming soon)Porting tv-material (coming
ProAndroidDev - Medium
The Thumb That Ran Ahead of the Finger: Anatomy of a Compose Slider Bug
The Thumb That Ran Ahead of the Finger: Anatomy of a Compose Slider Bug was originally published in ProAndroidDev on Medium, where people are continuing the conversation by highlighting and responding to this story.
ProAndroidDev - Medium
I Counted Every Hidden Channel Kotlin Flow Creates — Most Devs Are Wrong About Which Operators Are…
I Counted Every Hidden Channel Kotlin Flow Creates — Most Devs Are Wrong About Which Operators Are Freebuffer() and flowOn() are supposed to fuse into one channel when chained. I wrote code to prove it — and then found four "harmless" operators that quietly break
ProAndroidDev - Medium
The “Downcast Trap” in Kotlin’s Explicit Backing Fields
Why eliminating the double-property boilerplate changes how we protect our architectureDisclosure: This article was drafted by me and refined with the help of AI tools. If you have written Kotlin in the last few years, you are intimately familiar with the double-property boilerplate. Whether in
ProAndroidDev - Medium
The Android Startup Pattern: A Lifecycle-Aware, Multi-Module Approach
A Clean, DI-Driven Architecture for Managing Cold Starts, Background Wakeups, and Privacy Compliance in Modern Android AppsDisclosure: This article was drafted by me and refined with the help of AI tools. Every growing Android project eventually spawns a two-headed “God Class.” On one side, your
Android Studio Release Updates
Android Studio Rabbit 1 Canary 5 now available
Android Studio Rabbit 1 Canary 5 is now available in the Canary channel. If you already have an Android Studio build on the Canary channel, you can get the update by clicking Help > Check for Updates (or Android Studio > Check for Updates on
Android
Switching password managers is easy and safe on Android
Android bot showing how to switch password managers
Android Developers Blog
Introducing Fast and Reliable Wireless Debugging with Android Debug Bridge (ADB) Wi-Fi 2.0
Posted by Steven Jenkins, Product Manager, Sherif Eid, Senior Software Engineer, and Fabien Sanglard, Staff Software Engineer, Android Studio Wireless debugging on Android is now faster, more reliable, and easier to set up than ever. With ADB Wi-Fi 2.0, we’ve introduced a new server stack
ProAndroidDev - Medium
Forget the “Setup Tax”: A Production-Ready Multi-Module Android Template
How to streamline your development workflow with pre-configured Kotlin Convention Plugins, custom Lint rules, and unified design system tokens. Creating a new Android application from scratch in modern engineering is rarely as simple as clicking File → New → New Project in Android Studio. Before
ProAndroidDev - Medium
From Permissions to Sessions: Rethinking Location Access in Android 17
ReferencesRedefining Location Privacy: New Tools and Improvements for Android 17 | Android Developers' BlogRequest session-based location access with the location button | Privacy | Android Developers From Permissions to Sessions: Rethinking Location Access in Android 17 was originally published in ProAndroidDev on Medium, where people
Kotlin : A concise multiplatform language developed by JetBrains | The JetBrains Blog
Kotlin 2.4.20 Released
The Kotlin 2.4.20 release is out! Here are the main highlights: For the complete list of changes, see What’s new in Kotlin 2.4.20 or the release notes on GitHub. How to install Kotlin 2.4.20 The latest version of Kotlin is included in the latest versions
Android Studio Release Updates
Android Studio Rabbit 1 Canary 4 now available
Android Studio Rabbit 1 Canary 4 is now available in the Canary channel. If you already have an Android Studio build on the Canary channel, you can get the update by clicking Help > Check for Updates (or Android Studio > Check for Updates on
Kotlin : A concise multiplatform language developed by JetBrains | The JetBrains Blog
Kotlin Toolchain 0.12: Multiplatform Library Publishing, Wasm Apps, and More
Kotlin Toolchain 0.12.0 is out. This release brings some long-awaited features: multiplatform libraries publication, a preview of Wasm application support, Compose Hot Reload from the command line, and more. Read on for the details, and check the release notes for the full list of changes
Android
September Android Drop: Remember where you put things, ease motion sickness, and more
Android Drop logo appears on screen and fades to reveal the phrase New features have landed.
Android Studio Release Updates
Android Studio Quail 4 now available
Android Studio Quail 4 is now available in the Stable channel. If you already have an Android Studio build on the Stable channel, you can get the update by clicking Help > Check for Updates (or Android Studio > Check for Updates on macOS). Otherwise,
Android Developers Blog
Leverage Android skills and Gemma 4 in Android Studio Quail 4
Posted by Amman Fasil Asfaw, Product Manager, Android Studio Android Studio Quail 4 is now stable and ready for you to use in production. This is the final stable release for Android Studio Quail. The new features in Android Studio enable you to build premium
Android Developers Blog
Emulator control for adaptive app development
Posted by Rob Orgiu, Developer Relations Engineer, Adaptive Apps, Android Adaptive app development is fundamental on Android, but making sure everything looks good and every feature works the way it should require multiple tests on multiple devices. Or does it? Well, yes… and no! While
Android Developers Blog
How WhatsApp Upgraded to Secure, Seamless Sign-In for 1 Billion Users with Passkeys
Posted by Niharika Arora, Senior Developer Relations Engineer, Tracy Agyemang, Product Marketing Manager, Google and Mayank Manuja, Android Engineer, Meta WhatsApp is the world's largest messaging platform, serving billions of users globally. It is the default communication tool for people across diverse regions, connecting users
Android Studio Release Updates
Android Studio Rabbit 1 Canary 3 now available
Android Studio Rabbit 1 Canary 3 is now available in the Canary channel. If you already have an Android Studio build on the Canary channel, you can get the update by clicking Help > Check for Updates (or Android Studio > Check for Updates on
Android Developers Blog
Elevating app quality: Reducing memory usage and improving device migration
Posted by Raghavendra Hareesh Pottamsetty, GM, Google Play Developer & Monetization Maintaining a healthy Android ecosystem is a shared commitment where every app and game has a role to play. To help you deliver the premium experiences users expect, Google Play is introducing two new
Kotlin : A concise multiplatform language developed by JetBrains | The JetBrains Blog
Compose Multiplatform 1.12.0 Released
Compose Multiplatform 1.12.0 is out! This version brings new tooling for AI assistants, improvements to web resource management, and finer control over desktop window states. Here are the highlights of this release: For a complete overview of the changes, check out What’s new in Compose
Android Developers Blog
Ensuring Safety in the Generative AI Ecosystem: Protecting Users from Non-Consensual Intimate Content
Posted by Ron Aquino, Senior Director, Trust & Safety, Chrome, Android, and Play At Google Play, user safety and developer success go hand in hand. We continue to see growth in apps with AI generated features, and indeed, adding generative AI into your apps is
Android Studio Release Updates
Android Studio Quail 4 RC 2 now available
Android Studio Quail 4 RC 2 is now available in the Beta channel. If you already have an Android Studio build on the Beta channel, you can get the update by clicking Help > Check for Updates (or Android Studio > Check for Updates on
Android Developers Blog
AAOS SDV - Secure by Design
Posted by Markus Vill, Software Engineer, Sean Keys, Security Engineer, and Istvan Nador, Software Engineer, Android Auto At Google, we believe our products should be secure by design, which is why we built the Android Automotive Operating System for Software Defined Vehicle (AAOS SDV) on
Android
Here's how to use sign-to-text translation on Pixel 11.
Developed in partnership with the Deaf community, sign-to-text translates ASL into text in real time.
Android Studio Release Updates
Android Studio Rabbit 1 Canary 2 now available
Android Studio Rabbit 1 Canary 2 is now available in the Canary channel. If you already have an Android Studio build on the Canary channel, you can get the update by clicking Help > Check for Updates (or Android Studio > Check for Updates on
Android Developers Blog
Preparing your app for broader memory limits
Posted by Blair Harmon, Director of Product Management, Android Platform A great user experience is central to Android's mission, and delivering on that promise requires keeping devices fast, responsive, and reliable. This is why memory optimization is more critical than ever. Across the ecosystem, new