# android

Published articles for android.

This is one page of public article previews, not the complete archive. Follow Next page to continue. Summaries are not the original full articles.

## Introducing the AndroidX Security State Libraries: A Unified View of Device Security

DevFeed: [Introducing the AndroidX Security State Libraries: A Unified View of Device Security](<https://devfeed.tech/articles/introducing-the-androidx-security-state-libraries-a-unified-view-of-device-security-41384.md>)

Original publisher: [Read original article](<https://android-developers.googleblog.com/2026/09/introducing-androidx-security-state-libraries.html>)

Author: Android Developers (noreply@blogger.com)

Published: 2026-09-17T19:00:00Z

Content type: release

Language: en

Sources: [Android Developers Blog](<https://devfeed.tech/sources/android-developers-blog-2.md>)

Topics: [Android Security](<https://devfeed.tech/topics/android-security.md>), [Library](<https://devfeed.tech/topics/library.md>), [Android](<https://devfeed.tech/topics/android.md>), [version](<https://devfeed.tech/topics/version.md>), [Google](<https://devfeed.tech/topics/google.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-security](<https://devfeed.tech/tags/android-security.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [release](<https://devfeed.tech/tags/release.md>), [security](<https://devfeed.tech/tags/security.md>), [version](<https://devfeed.tech/tags/version.md>)

### AI overview

Android announces the stable release of AndroidX Security State 1.1.0 and Security State Provider 1.0.0. The libraries let developers and enterprises inspect component-level device security, compare installed, published, and available patch levels, expose update availability, and check whether selected vulnerabilities have been patched.

### Source excerpt

Posted by Maunik Shah, Staff Software Engineer, Alec Garcia, Software Engineer, and Joseph Yong, Technical Program Manager At Android, we are constantly working to provide developers and enterprise partners with the data they need to keep devices protected. Today, we're thrilled to announce the stable release of the AndroidX Security State version 1.1.0 and Security State Provider version 1.0.0 libraries which provides a centralized mechanism designed to bring further transparency to the comprehensive security posture and pending updates across the Android ecosystem. Whether you develop security-critical, consumer-facing apps (such as banking, fintech, or healthcare) or Mobile Device Management (MDM) solutions, these libraries enable you to programmatically verify the security state of the device per component. Rather than relying on a coarse, monolithic Security Patch Level (SPL), you can evaluate true component-level protection and whether remediations are actively pending via the androidx.security.state library. For OEMs and Over-The-Air (OTA) client developers, the companion androidx.security.state.provider library allows you to expose update availability via standardized mechanisms. Understanding Security Patch Levels (SPL) As Android has evolved to deliver rapid, independent component updates through modular systems like Google Play system updates, relying on a single SPL build property is no longer the best way to determine a device's true security posture. To provide component level visibility, the Security State libraries provide APIs for three distinct patch levels: Device SPL (DSPL): The security patch level currently installed and running on the device for specific system components, queried from device properties and configs without network calls. Published SPL (PSPL): The latest patch level officially published in the Android Security Bulletin for those components. Available SPL (ASPL): The patch level ready to be downloaded and installed on the specif

## Android Studio Rabbit 2 Canary 1 now available

DevFeed: [Android Studio Rabbit 2 Canary 1 now available](<https://devfeed.tech/articles/android-studio-rabbit-2-canary-1-now-available-41447.md>)

Original publisher: [Read original article](<https://androidstudio.googleblog.com/2026/09/android-studio-rabbit-2-canary-1-now.html>)

Author: Android Studio Releaser (noreply@blogger.com)

Published: 2026-09-17T17:07:57Z

Content type: release

Language: en

Sources: [Android Studio Release Updates](<https://devfeed.tech/sources/android-studio-release-updates.md>)

Topics: [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Android](<https://devfeed.tech/topics/android.md>), [Android Gradle Plugin](<https://devfeed.tech/topics/android-gradle-plugin.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Compose](<https://devfeed.tech/topics/compose.md>)

Tags: [adb](<https://devfeed.tech/tags/adb.md>), [android](<https://devfeed.tech/tags/android.md>), [android-gradle-plugin](<https://devfeed.tech/tags/android-gradle-plugin.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [bug](<https://devfeed.tech/tags/bug.md>), [cli](<https://devfeed.tech/tags/cli.md>), [compose](<https://devfeed.tech/tags/compose.md>), [gemini](<https://devfeed.tech/tags/gemini.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>)

### AI overview

Android Studio Rabbit 2 Canary 1 is available in the Canary channel, with general fixes and features across Android CLI, Android Gradle Plugin, code editing, Compose Preview, Gemini, and Gradle integration.

### Source excerpt

Android Studio Rabbit 2 Canary 1 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 macOS). Otherwise, you can download it here. For information on new features and changes in Android Studio Rabbit 2, see the Android Studio Preview release notes. General fixes and features Below is a list of general fixes in Android Studio Rabbit 2 Canary 1 and Android Gradle Plugin 9.5.0-alpha06. These are a result of your bug reports, which help us to make Android Studio better. If you encounter a problem, let us know by reporting a bug. You can also vote for an existing issue to indicate that it also affects you. Fixed Issues Android CLI Issue #528094657 android studio find-usages: a bare symbol resolves to a single declaration with no caller control, causing both over-reporting (common names) and silent under-reporting (name collisions) Issue #559567813 android-cli leaves accumulating lib-downloader_jni-*.dll files in %TEMP% on Windows Android Gradle Plugin Issue #549072996 KMP AndroidX sources are not downloaded without a separate non-KMP module Issue #560282299 The Configuration.setVisible(boolean) method has been deprecated Issue #556343682 AGP 9.3.0's new optimization { enable = true } DSL does not set isMinifyEnabled in the ApplicationVariant object Code Editor Issue #553120510 Android Studio freezes every time Compose Preview Issue #295351352 Compose device previews don't work in studio Gemini Issue #555875043 An internal error has occurred in Agent Gradle Integration Issue #558766788 AGP 9.4.0: running a single method of a JUnit4 Parameterized instrumented test from Android Studio runs 0 tests (tests_regex "\[.*\]" loses backslashes in device shell) Issue #556780790 connectedAndroidTest always fails on `adb connect host:port` devices -- device id is percent-encoded before the per-device pass/fail lookup Preview Issue

## Obfuscation Fundamentals: Applying ProGuard and R8 Protections to Android Code

DevFeed: [Obfuscation Fundamentals: Applying ProGuard and R8 Protections to Android Code](<https://devfeed.tech/articles/obfuscation-32342.md>)

Original publisher: [Read original article](<https://dustn.dev/page/presentations/2019-07-24-obfuscation-fundamentals/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2026-09-17T04:13:15.404035Z

Content type: tutorial

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [obfuscation](<https://devfeed.tech/topics/obfuscation.md>), [Android](<https://devfeed.tech/topics/android.md>), [R8](<https://devfeed.tech/topics/r8.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [meetup](<https://devfeed.tech/tags/meetup.md>), [obfuscation](<https://devfeed.tech/tags/obfuscation.md>), [proguard](<https://devfeed.tech/tags/proguard.md>), [r8](<https://devfeed.tech/tags/r8.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A presentation introducing obfuscation with ProGuard and R8, focused on applying protections to Android code. It explains how to diagnose the code entering and leaving these build tools.

### Source excerpt

This presentation was given at a MeetUp in DC. It corresponds to this series of blog posts, which is the first in a series to teach about Obfuscation/ProGuard/R8, and will primarily be centered around applying protections to Android Code. Tools such as R8 and ProGuard are available, but to many they are a black box that code goes into and stuff comes out. The following will demystify the black box, and teach developers how to properly diagnose the code going into and coming out of these build tools.

## Udacity Android Basics Course Alumni Experience

DevFeed: [Udacity Android Basics Course Alumni Experience](<https://devfeed.tech/articles/udacity-32341.md>)

Original publisher: [Read original article](<https://dustn.dev/page/presentations/2018-10-01-android-udacity/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2026-09-17T04:13:15.404035Z

Content type: article

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [course](<https://devfeed.tech/tags/course.md>), [experience](<https://devfeed.tech/tags/experience.md>)

### AI overview

The author describes providing input on life after completing Udacity's Android Basics course and on their experience working in Android.

### Source excerpt

As an alumni of the Udacity Android Basics course, they reached out for my input in life after the course and my experience working in Android.

## Modern Android Hacking

DevFeed: [Modern Android Hacking](<https://devfeed.tech/articles/modern-android-hacking-32344.md>)

Original publisher: [Read original article](<https://dustn.dev/page/presentations/2020-11-18-modern-android-hacking/>)

Author: dustin@dustn.dev (Dustin Summers)

Published: 2026-09-17T04:13:15.404035Z

Content type: article

Language: en

Sources: [Dustin Summers](<https://devfeed.tech/sources/dustin-summers.md>)

Topics: [Hacking](<https://devfeed.tech/topics/hacking.md>), [Android](<https://devfeed.tech/topics/android.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [hacking](<https://devfeed.tech/tags/hacking.md>), [modern](<https://devfeed.tech/tags/modern.md>), [presentation](<https://devfeed.tech/tags/presentation.md>), [summit](<https://devfeed.tech/tags/summit.md>), [video](<https://devfeed.tech/tags/video.md>)

### AI overview

A presentation titled "Modern Android Hacking" was given at the 2020 Android Summit, which was hosted virtually due to the pandemic. The page provides a video of the presentation.

### Source excerpt

This presentation was given at the 2020 Android Summit which was hosted virtually due to the pandemic Video of Presentation:

## Preparing Codename One for Android 17 and API 37 Migration

DevFeed: [Preparing Codename One for Android 17 and API 37 Migration](<https://devfeed.tech/articles/android-17-without-the-last-minute-scramble-41276.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/android-37-readiness-location-button/>)

Author: Shai Almog

Published: 2026-09-17T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [migration](<https://devfeed.tech/topics/migration.md>), [Security](<https://devfeed.tech/topics/security.md>), [format](<https://devfeed.tech/topics/format.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [apis](<https://devfeed.tech/tags/apis.md>), [format](<https://devfeed.tech/tags/format.md>), [migration](<https://devfeed.tech/tags/migration.md>), [security](<https://devfeed.tech/tags/security.md>)

### AI overview

Codename One prepares for Android 17 and API 37 by adding platform compatibility checks, fixing API-level parsing and build-tool handling, and testing a new system-rendered location button. The article also describes moving PEM parsing and task removal into shared security-sensitive platform handling.

### Source excerpt

API 37 checks and a system location button prepare Android migration. PEM parsing and task-clearing exit put more security-sensitive platform and format handling into Codename One.

## Artec выпустила 3D-сканер Neo с точностью до 0,025 мм и возможностью использовать меньше маркеров

DevFeed: [Artec выпустила 3D-сканер Neo с точностью до 0,025 мм и возможностью использовать меньше маркеров](<https://devfeed.tech/articles/artec-3d-neo-0-025-40901.md>)

Original publisher: [Read original article](<https://habr.com/ru/news/1083152/>)

Author: daniilshat

Published: 2026-09-16T20:38:18Z

Content type: news

Language: ru

Sources: [Tagir Valeev](<https://devfeed.tech/sources/tagir-valeev.md>)

Topics: [3D](<https://devfeed.tech/topics/3d.md>), [NEO](<https://devfeed.tech/topics/neo.md>), [Wi-Fi](<https://devfeed.tech/topics/wi-fi.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>)

Tags: [3d](<https://devfeed.tech/tags/3d.md>), [3d-3e5df75aae48](<https://devfeed.tech/tags/3d-3e5df75aae48.md>), [3d-808cb8ef1ed6](<https://devfeed.tech/tags/3d-808cb8ef1ed6.md>), [android](<https://devfeed.tech/tags/android.md>), [artec](<https://devfeed.tech/tags/artec.md>), [artec-3d](<https://devfeed.tech/tags/artec-3d.md>), [ios](<https://devfeed.tech/tags/ios.md>), [neo](<https://devfeed.tech/tags/neo.md>), [tag-232a735f81ce](<https://devfeed.tech/tags/tag-232a735f81ce.md>), [tag-37307bce20f9](<https://devfeed.tech/tags/tag-37307bce20f9.md>), [tag-d14eb265d33e](<https://devfeed.tech/tags/tag-d14eb265d33e.md>), [wi-fi](<https://devfeed.tech/tags/wi-fi.md>)

### AI overview

Artec has released Neo, a wireless 3D scanner for quality control and reverse engineering. It uses structured blue light, can capture up to 8 million points per second, and supports a hybrid mode that reduces the need for markers. Neo is available for $38,600.

### Source excerpt

Artec представила Neo -- беспроводной 3D-сканер для контроля качества и реверс-инжиниринга. Одна из особенностей устройства заключается в гибридном режиме, в котором оператору не нужно покрывать всю деталь маркерами для позиционирования сканера. Читать далее

## Android Bench 2.0 introduces long-horizon tasks, agentic evaluation, and continuous scoring

DevFeed: [Android Bench 2.0 introduces long-horizon tasks, agentic evaluation, and continuous scoring](<https://devfeed.tech/articles/android-bench-2-0-pushing-the-frontier-with-challenging-long-horizon-tasks-41383.md>)

Original publisher: [Read original article](<https://android-developers.googleblog.com/2026/09/android-bench-2-long-horizon-tasks.html>)

Author: Android Developers (noreply@blogger.com)

Published: 2026-09-16T15:58:00Z

Content type: release

Language: en

Sources: [Android Developers Blog](<https://devfeed.tech/sources/android-developers-blog-2.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Benchmark](<https://devfeed.tech/topics/benchmark.md>), [AI-assisted coding](<https://devfeed.tech/topics/ai-assisted-coding.md>), [LLM evaluation / benchmarking](<https://devfeed.tech/topics/llm-evaluation-benchmarking.md>), [upgrade](<https://devfeed.tech/topics/upgrade.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>)

Tags: [agent](<https://devfeed.tech/tags/agent.md>), [agentic](<https://devfeed.tech/tags/agentic.md>), [agentic-android-development](<https://devfeed.tech/tags/agentic-android-development.md>), [ai-models](<https://devfeed.tech/tags/ai-models.md>), [android](<https://devfeed.tech/tags/android.md>), [benchmark](<https://devfeed.tech/tags/benchmark.md>), [evaluation](<https://devfeed.tech/tags/evaluation.md>)

### AI overview

Android Bench 2.0 updates Android developer benchmarking for large language models and agents. It introduces multi-day long-horizon tasks, agentic evaluation, and continuous scoring based on functionality, visual fidelity, regressions, and other objective criteria.

### Source excerpt

Posted by Matthew McCullough, VP, Product Management, Android Developer When we first launched Android Bench, we built a rigorous foundation for evaluating how large language models (LLMs) assist developers with real-world Android tasks. As AI models and agents rapidly evolve, we've been updating our methodology, such as aligning our benchmark framework with the Harbor framework. Today we're releasing the first set of long-horizon tasks (LHT), which are tasks of great complexity that take an engineer multiple days or even a week to complete. We are also introducing agentic evaluation, starting with agents from corresponding model providers. This addition brings us to Android Bench 2.0--a major upgrade designed to evaluate AI models and agents against the scale, ambiguity, and complex multi-step problem solving that you tackle every day. The Android Bench 2.0 leaderboard From incremental fixes to long-horizon tasks The first iteration of Android Bench, along with similar early AI coding benchmarks, focused on incremental changes to existing repositories, in many cases limited to bug fixes or smaller feature requests. This was a reflection of the capabilities of AI assistance at the time, as well as how you were using it. To continue helping you find the models and coding agents best suited to your development workflow, we have raised the bar of our evaluations to match the work you delegate to AI. Android Bench 2.0 mirrors these ambitious challenges with LHTs that include upgrading dependencies, adding new features, building apps from scratch, or converting a cross-platform app to Android. Complex tasks require a more nuanced evaluation and scoring On multi-day engineering tasks, binary pass or fail grading doesn't capture the full picture. For example, an agent might refactor 40 screens to Jetpack Compose, set up database tables, and pass 90% of requirements, but fail a single edge-case assertion. Binary scoring rates this run as 0%, obscuring the model's architectur

## Android Studio Rabbit 1 RC 1 now available

DevFeed: [Android Studio Rabbit 1 RC 1 now available](<https://devfeed.tech/articles/android-studio-rabbit-1-rc-1-now-available-31460.md>)

Original publisher: [Read original article](<https://androidstudio.googleblog.com/2026/09/android-studio-rabbit-1-rc-1-now.html>)

Author: Android Studio Releaser (noreply@blogger.com)

Published: 2026-09-16T14:17:15Z

Content type: release

Language: en

Sources: [Android Studio Release Updates](<https://devfeed.tech/sources/android-studio-release-updates.md>)

Topics: [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [Beta channel](<https://devfeed.tech/topics/beta-channel.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [macOS](<https://devfeed.tech/topics/macos.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [beta-channel](<https://devfeed.tech/tags/beta-channel.md>), [macos](<https://devfeed.tech/tags/macos.md>), [preview](<https://devfeed.tech/tags/preview.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>), [update](<https://devfeed.tech/tags/update.md>)

### AI overview

Android Studio Rabbit 1 RC 1 is available in the Beta channel. Existing Beta-channel users can update through the IDE, while others can download it. The article directs readers to preview release notes and closed issues for features, changes, and fixed bugs.

### Source excerpt

Android Studio Rabbit 1 RC 1 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 macOS). Otherwise, you can download it here. For information on new features and changes in Android Studio Rabbit 1, see the Android Studio Preview release notes. For details of bugs fixed in each previous release of Android Studio Rabbit 1, see closed issues.

## Shopify Drops React Native for Swift and Kotlin as AI Changes Cross-Platform Development Tradeoffs

DevFeed: [Shopify Drops React Native for Swift and Kotlin as AI Changes Cross-Platform Development Tradeoffs](<https://devfeed.tech/articles/shopify-drops-react-native-for-swift-and-kotlin-as-ai-changes-cross-platform-development-tradeoffs-30912.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/shopify-drops-react-native/>)

Author: Bruno Couriol

Published: 2026-09-16T12:45:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [React Native](<https://devfeed.tech/topics/react-native.md>), [Shopify](<https://devfeed.tech/topics/shopify.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [cross-platform](<https://devfeed.tech/topics/cross-platform.md>), [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Swift](<https://devfeed.tech/topics/swift.md>), [AI Models](<https://devfeed.tech/topics/ai-models.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [ai-coding](<https://devfeed.tech/tags/ai-coding.md>), [android](<https://devfeed.tech/tags/android.md>), [apple](<https://devfeed.tech/tags/apple.md>), [cross-platform](<https://devfeed.tech/tags/cross-platform.md>), [declarative](<https://devfeed.tech/tags/declarative.md>), [development](<https://devfeed.tech/tags/development.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [react-native](<https://devfeed.tech/tags/react-native.md>), [shopify](<https://devfeed.tech/tags/shopify.md>), [shopify-drops-react-native](<https://devfeed.tech/tags/shopify-drops-react-native.md>), [swift](<https://devfeed.tech/tags/swift.md>), [web-development](<https://devfeed.tech/tags/web-development.md>)

### AI overview

Shopify is rewriting its flagship mobile apps in Swift and Kotlin after reassessing React Native. The decision followed the expected work to adopt React Native's New Architecture and improvements in AI coding models, which Shopify said made a clean-slate native rewrite more attractive than migration.

### Source excerpt

Shopify recently announced it is abandoning React Native to rewrite its flagship apps in Swift and Kotlin. With the significant jump in the quality of AI models, Head of Mobile Mustafa Ali reassessed Shopify's commitment to React Native, estimating that the benefit/cost ratio of maintaining native codebases across mobile platforms was now above that of using an abstraction layer. By Bruno Couriol

## Our Transition to React Native

DevFeed: [Our Transition to React Native](<https://devfeed.tech/articles/our-transition-to-react-native-27402.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/react-native-at-khan.htm>)

Author: Khan Academy

Published: 2020-07-09T22:00:00Z

Content type: opinion

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [React Native](<https://devfeed.tech/topics/react-native.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [React](<https://devfeed.tech/topics/react.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-apps](<https://devfeed.tech/tags/android-apps.md>), [architectures](<https://devfeed.tech/tags/architectures.md>), [backend](<https://devfeed.tech/tags/backend.md>), [bridge](<https://devfeed.tech/tags/bridge.md>), [business-logic](<https://devfeed.tech/tags/business-logic.md>), [change](<https://devfeed.tech/tags/change.md>), [code](<https://devfeed.tech/tags/code.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ios](<https://devfeed.tech/tags/ios.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>), [react-native](<https://devfeed.tech/tags/react-native.md>)

### AI overview

Khan Academy describes completing its transition to React Native for its iOS and Android apps. The article explains why the team moved away from separate platform codebases and outlines the transition's exploration, straddling, and extinction phases.

### Source excerpt

In 2017, Khan Academy started using React Native in our iOS and Android apps. As of this year, we've reached a big milestone: our transition to React Native is complete! Every screen in the app is rendered in React Native.

## Building a Really, Really Small Android App

DevFeed: [Building a Really, Really Small Android App](<https://devfeed.tech/articles/building-a-really-really-small-android-app-27364.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/a-really-small-app.htm>)

Author: Khan Academy

Published: 2016-08-22T22:00:00Z

Content type: article

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [APK](<https://devfeed.tech/topics/apk.md>), [Android Studio](<https://devfeed.tech/topics/android-studio.md>), [App](<https://devfeed.tech/topics/app.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-studio](<https://devfeed.tech/tags/android-studio.md>), [apk](<https://devfeed.tech/tags/apk.md>), [app](<https://devfeed.tech/tags/app.md>), [app-size](<https://devfeed.tech/tags/app-size.md>), [build](<https://devfeed.tech/tags/build.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [news](<https://devfeed.tech/tags/news.md>)

### AI overview

This article describes building a minimally viable Khan Academy Android app focused on video playback. The resulting APK was 26 kilobytes to download, supported older Android versions, and offered limited offline navigation.

### Source excerpt

By Charlie Marsh App size is important to us. As a team striving to deliver a free, world-class ... Read more

## Migrating to a Mobile Monorepo for React Native

DevFeed: [Migrating to a Mobile Monorepo for React Native](<https://devfeed.tech/articles/migrating-to-a-mobile-monorepo-for-react-native-27403.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/react-native-monorepo.htm>)

Author: Khan Academy

Published: 2017-05-29T22:00:00Z

Content type: tutorial

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [monorepo](<https://devfeed.tech/topics/monorepo.md>), [React Native](<https://devfeed.tech/topics/react-native.md>), [Mobile](<https://devfeed.tech/topics/mobile.md>), [Submodules](<https://devfeed.tech/topics/submodules.md>), [Android](<https://devfeed.tech/topics/android.md>), [iOS](<https://devfeed.tech/topics/ios.md>), [pull-requests](<https://devfeed.tech/topics/pull-requests.md>), [Jenkins](<https://devfeed.tech/topics/jenkins.md>)

Tags: [also](<https://devfeed.tech/tags/also.md>), [android](<https://devfeed.tech/tags/android.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [ios](<https://devfeed.tech/tags/ios.md>), [jenkins](<https://devfeed.tech/tags/jenkins.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [monorepo](<https://devfeed.tech/tags/monorepo.md>), [news](<https://devfeed.tech/tags/news.md>), [react-native](<https://devfeed.tech/tags/react-native.md>), [submodules](<https://devfeed.tech/tags/submodules.md>)

### AI overview

Khan Academy describes moving its React Native-related iOS and Android repositories from separate repositories and submodules into a single mobile monorepo. The change was intended to reduce synchronization problems, coordinate bridge changes across platforms, make pull requests and reviews more coherent, and simplify verification between codebases. The article also outlines repository-merging steps and anticipated trade-offs.

### Source excerpt

By Jared Forsyth Over the past few months, we've been adding some React Native to our existing iOS ... Read more

## Starting Android at Khan Academy

DevFeed: [Starting Android at Khan Academy](<https://devfeed.tech/articles/starting-android-at-khan-academy-27408.md>)

Original publisher: [Read original article](<http://engineering.khanacademy.org/posts/starting-android.htm>)

Author: Khan Academy

Published: 2016-02-29T23:00:00Z

Content type: article

Language: en

Sources: [Khan Academy](<https://devfeed.tech/sources/khan-academy.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [android-development](<https://devfeed.tech/topics/android-development.md>), [Development](<https://devfeed.tech/topics/development.md>), [Library](<https://devfeed.tech/topics/library.md>), [modules](<https://devfeed.tech/topics/modules.md>), [ci](<https://devfeed.tech/topics/ci.md>), [Mocking](<https://devfeed.tech/topics/mocking.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [development](<https://devfeed.tech/tags/development.md>), [engineering](<https://devfeed.tech/tags/engineering.md>), [libraries](<https://devfeed.tech/tags/libraries.md>), [mobile](<https://devfeed.tech/tags/mobile.md>), [mocking](<https://devfeed.tech/tags/mocking.md>), [module](<https://devfeed.tech/tags/module.md>), [modules](<https://devfeed.tech/tags/modules.md>), [news](<https://devfeed.tech/tags/news.md>), [open-source](<https://devfeed.tech/tags/open-source.md>), [picasso](<https://devfeed.tech/tags/picasso.md>), [play-store](<https://devfeed.tech/tags/play-store.md>), [pre-commit](<https://devfeed.tech/tags/pre-commit.md>), [retrofit](<https://devfeed.tech/tags/retrofit.md>), [test](<https://devfeed.tech/tags/test.md>), [tests](<https://devfeed.tech/tags/tests.md>)

### AI overview

Khan Academy describes its first Android app, launched in August 2015, and the engineering practices used to build it. The team adopted established Android and open-source libraries, separated Android-independent core code from the app module, and used fast JVM tests and continuous integration.

### Source excerpt

By Ben Komalo The journey of a thousand miles... In March, 2015--almost 1 year ago to the day--we ... Read more

## Dev snapshot: Godot 4.8 dev 6

DevFeed: [Dev snapshot: Godot 4.8 dev 6](<https://devfeed.tech/articles/dev-snapshot-godot-4-8-dev-6-26782.md>)

Original publisher: [Read original article](<https://godotengine.org/article/dev-snapshot-godot-4-8-dev-6/>)

Author: Thaddeus Crews

Published: 2026-09-15T20:00:00Z

Content type: release

Language: en

Sources: [Godot Engine Official](<https://devfeed.tech/sources/godot-engine-official.md>)

Topics: [Godot](<https://devfeed.tech/topics/godot.md>), [releases](<https://devfeed.tech/topics/releases.md>), [Release notes](<https://devfeed.tech/topics/release-notes.md>), [Android](<https://devfeed.tech/topics/android.md>), [macOS](<https://devfeed.tech/topics/macos.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [crash](<https://devfeed.tech/tags/crash.md>), [dev](<https://devfeed.tech/tags/dev.md>), [google-play](<https://devfeed.tech/tags/google-play.md>), [macos](<https://devfeed.tech/tags/macos.md>), [pre-release](<https://devfeed.tech/tags/pre-release.md>), [release](<https://devfeed.tech/tags/release.md>), [release-notes](<https://devfeed.tech/tags/release-notes.md>)

### AI overview

Godot 4.8 development snapshot 6 addresses startup crashes on macOS and a Google Play Store upload failure from the previous snapshot. It also introduces screen-space contact shadows for directional lights and includes other improvements available for testing.

### Source excerpt

Hotfix for macOS and Android

## Safeguarding LLM-Assisted Dev at Guardsquare | Guardsquare

DevFeed: [Safeguarding LLM-Assisted Dev at Guardsquare | Guardsquare](<https://devfeed.tech/articles/safeguarding-llm-assisted-dev-at-guardsquare-guardsquare-26891.md>)

Original publisher: [Read original article](<https://www.guardsquare.com/blog/llms-for-software-development>)

Author: Noah Fraiture - Backend Engineer

Published: 2026-09-15T13:03:38Z

Content type: article

Language: en

Sources: [Guardsquare Blog](<https://devfeed.tech/sources/guardsquare-blog.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Cybersecurity](<https://devfeed.tech/topics/cybersecurity.md>), [Security & Privacy](<https://devfeed.tech/topics/security-privacy.md>), [agent observability](<https://devfeed.tech/topics/agent-observability.md>)

Tags: [ai-agents](<https://devfeed.tech/tags/ai-agents.md>), [android](<https://devfeed.tech/tags/android.md>), [containers](<https://devfeed.tech/tags/containers.md>), [cybersecurity](<https://devfeed.tech/tags/cybersecurity.md>), [data](<https://devfeed.tech/tags/data.md>), [dev](<https://devfeed.tech/tags/dev.md>), [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [ios](<https://devfeed.tech/tags/ios.md>), [llm](<https://devfeed.tech/tags/llm.md>), [llm-gateway](<https://devfeed.tech/tags/llm-gateway.md>), [thought-leadership](<https://devfeed.tech/tags/thought-leadership.md>)

### AI overview

Guardsquare explains why it adopted LLM-assisted software development despite risks involving sensitive intellectual property, personally identifiable information, and agent access to developer infrastructure. The post describes safeguards including separating sensitive code, isolating agent execution, and controlling model access and outbound data through an LLM gateway and guardrail service.

### Source excerpt

This post is not meant to tell you how to use large language models (LLMs) or to claim we've found the right approach. As a cybersecurity company working with particularly sensitive IP, our decision to use LLMs for development was never just about productivity. The broader enthusiasm around LLMs was not itself a reason for us to adopt them quickly. For some time, our position was that the risks outweighed the productivity gains, and incidents involving AI agents elsewhere in the industry reinforced that assessment.

## Microsoft Releases .NET 11 RC1 with Go-Live Support, C# 15 and F# 11 as Default Language Versions

DevFeed: [Microsoft Releases .NET 11 RC1 with Go-Live Support, C# 15 and F# 11 as Default Language Versions](<https://devfeed.tech/articles/microsoft-releases-net-11-rc1-with-go-live-support-c-15-and-f-11-as-default-language-versions-26600.md>)

Original publisher: [Read original article](<https://www.infoq.com/news/2026/09/dotnet-11-rc-1-release/>)

Author: Almir Vuk

Published: 2026-09-15T07:11:00Z

Content type: news

Language: en

Sources: [InfoQ](<https://devfeed.tech/sources/infoq.md>)

Topics: [.NET 11](<https://devfeed.tech/topics/net-11.md>), [C# 15](<https://devfeed.tech/topics/c-sharp-15.md>), [Microsoft](<https://devfeed.tech/topics/microsoft.md>), [releases](<https://devfeed.tech/topics/releases.md>), [ASP.NET Core](<https://devfeed.tech/topics/asp-net-core.md>), [F#](<https://devfeed.tech/topics/fsharp.md>), [SignalR](<https://devfeed.tech/topics/signalr.md>), [SDKs](<https://devfeed.tech/topics/sdks.md>), [.NET MAUI](<https://devfeed.tech/topics/net-maui.md>), [native aot](<https://devfeed.tech/topics/native-aot.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [api](<https://devfeed.tech/tags/api.md>), [asp-net-core](<https://devfeed.tech/tags/asp-net-core.md>), [c-sharp-15](<https://devfeed.tech/tags/c-sharp-15.md>), [development](<https://devfeed.tech/tags/development.md>), [dotnet-11-rc-1-release](<https://devfeed.tech/tags/dotnet-11-rc-1-release.md>), [f-sharp](<https://devfeed.tech/tags/f-sharp.md>), [ios](<https://devfeed.tech/tags/ios.md>), [macos](<https://devfeed.tech/tags/macos.md>), [microsoft](<https://devfeed.tech/tags/microsoft.md>), [native-aot](<https://devfeed.tech/tags/native-aot.md>), [net](<https://devfeed.tech/tags/net.md>), [net-10](<https://devfeed.tech/tags/net-10.md>), [net-11](<https://devfeed.tech/tags/net-11.md>), [net-9](<https://devfeed.tech/tags/net-9.md>), [net-core](<https://devfeed.tech/tags/net-core.md>), [net-maui](<https://devfeed.tech/tags/net-maui.md>), [news](<https://devfeed.tech/tags/news.md>), [releases](<https://devfeed.tech/tags/releases.md>), [sdk](<https://devfeed.tech/tags/sdk.md>), [signalr](<https://devfeed.tech/tags/signalr.md>)

### AI overview

Microsoft released .NET 11 Release Candidate 1 with go-live support for production use. It makes C# 15 and F# 11 the default language versions and stabilizes features from the preview cycle. The release also extends testing across mobile and desktop targets, updates SignalR authentication refresh APIs, and adds SDK, ASP.NET Core, Blazor, and Native AOT-related improvements.

### Source excerpt

Last week, Microsoft has released .NET 11 Release Candidate 1, the first release candidate of the cycle, shipping with a go-live support license for production use. The release makes C# 15 and F# 11 the default language versions, extends dotnet test to mobile and desktop targets, finalizes the SignalR authentication refresh APIs, and improves Android build times in .NET MAUI. By Almir Vuk

## About

DevFeed: [About](<https://devfeed.tech/articles/about-25201.md>)

Original publisher: [Read original article](<https://kau.sh/about/>)

Author: Kaushik Gopal

Published: 2026-09-15T04:00:36.743345Z

Content type: article

Language: en

Sources: [Kaushik Gopal's Site](<https://devfeed.tech/sources/kaushik-gopal-s-site.md>)

Topics: [Development](<https://devfeed.tech/topics/development.md>), [Android](<https://devfeed.tech/topics/android.md>), [Hugo](<https://devfeed.tech/topics/hugo.md>), [Google](<https://devfeed.tech/topics/google.md>), [Azure](<https://devfeed.tech/topics/azure.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [developer](<https://devfeed.tech/tags/developer.md>), [development](<https://devfeed.tech/tags/development.md>), [github](<https://devfeed.tech/tags/github.md>), [google](<https://devfeed.tech/tags/google.md>), [hugo](<https://devfeed.tech/tags/hugo.md>), [podcast](<https://devfeed.tech/tags/podcast.md>), [talks](<https://devfeed.tech/tags/talks.md>)

### AI overview

An about page for Kaushik Gopal, an Android-focused Google Developer Expert and Principal Engineer at Instacart. It highlights his podcast, talks, developer posts, and work on Caper smart carts and AI strategy, along with the Hugo theme used to build the site.

### Source excerpt

Hi, I'm Kaushik Gopal. I host Fragmented an AI developer podcast and previously the most popular Android developer podcast. I'm also a Google Developer Expert for Android. I work as a Principal Engineer at Instacart leading the development of our Caper smart carts and assist with AI strategies for the company. #work podcast talks github contact #blog posts newsletter RSS #social bluesky linkedin threads twitter mastodon Talks ## 2019-10 Architecting Android and iOS app features for 2020 2018-09 Unidirectional State Flow patterns - a refactoring story 2018-05 Supercharging your workflow with App Center and Azure 2017-07 Rx by example - Volume 3 (the multicast edition) 2016-11 What I learnt using the Presenter pattern 2016-11 Learning Rx by Example (Part 2) 2015-08 Painless UI Testing 2015-06 Learning Rx by Example (Part 1) Colophon ## This site is built entirely with the custom Hugo theme I maintain called Henry. I have put thought into almost every inch of this website and released the theme free for everyone to use. Curious about the tools I use day-to-day? I keep a running list. Want to reach out? I'd love to hear from you.

## Native Drag and Drop Meets Cross-Device Continuity

DevFeed: [Native Drag and Drop Meets Cross-Device Continuity](<https://devfeed.tech/articles/native-drag-and-drop-meets-cross-device-continuity-26579.md>)

Original publisher: [Read original article](<https://www.codenameone.com/blog/continuity-restoring-work/>)

Author: Shai Almog

Published: 2026-09-15T00:00:00Z

Content type: article

Language: en

Sources: [CodeName One](<https://devfeed.tech/sources/codename-one.md>)

Topics: [Java](<https://devfeed.tech/topics/java.md>), [Persistence](<https://devfeed.tech/topics/persistence.md>), [Framework](<https://devfeed.tech/topics/framework.md>), [payload](<https://devfeed.tech/topics/payload.md>), [LineageOS](<https://devfeed.tech/topics/lineageos.md>), [Processes](<https://devfeed.tech/topics/processes.md>), [browser](<https://devfeed.tech/topics/browser.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [apis](<https://devfeed.tech/tags/apis.md>), [browser](<https://devfeed.tech/tags/browser.md>), [java](<https://devfeed.tech/tags/java.md>), [native](<https://devfeed.tech/tags/native.md>), [payload](<https://devfeed.tech/tags/payload.md>), [persistence](<https://devfeed.tech/tags/persistence.md>), [process](<https://devfeed.tech/tags/process.md>), [screen](<https://devfeed.tech/tags/screen.md>), [state](<https://devfeed.tech/tags/state.md>)

### AI overview

Codename One adds cross-device continuity and native drag-and-drop through shared Java APIs. The article explains how to save reconstructible application state, restore it after account verification, and transfer it between devices and applications.

### Source excerpt

Drag files into another application and pick up a task on another device. Codename One adds native drag and drop and cross-device continuity through shared Java APIs.

## Kotlin 2.4.20 Collection Checks and Experimental Context-Sensitive Resolution

DevFeed: [Kotlin 2.4.20 Collection Checks and Experimental Context-Sensitive Resolution](<https://devfeed.tech/articles/features-you-waited-for-so-long-in-kotlin-22944.md>)

Original publisher: [Read original article](<https://proandroiddev.com/features-you-waited-for-so-long-in-kotlin-6c822e9e344a?source=rss----c72404660798---4>)

Author: Andrii Dubovyk

Published: 2026-09-14T06:32:51Z

Content type: tutorial

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [Kotlin](<https://devfeed.tech/topics/kotlin.md>), [Compiler](<https://devfeed.tech/topics/compiler.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [collections](<https://devfeed.tech/tags/collections.md>), [compiler](<https://devfeed.tech/tags/compiler.md>), [experimental](<https://devfeed.tech/tags/experimental.md>), [features](<https://devfeed.tech/tags/features.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [list](<https://devfeed.tech/tags/list.md>), [mobile-app-development](<https://devfeed.tech/tags/mobile-app-development.md>), [syntax](<https://devfeed.tech/tags/syntax.md>), [technology](<https://devfeed.tech/tags/technology.md>)

### AI overview

The article explains two Kotlin features: allDistinctBy and allEqualBy in Kotlin 2.4.20 for checking collection values, and experimental context-sensitive resolution introduced in Kotlin 2.2 to reduce repetition when the expected type is known.

### Source excerpt

Kotlin 2.4.20 gives your collections opinions, and 2.2's compiler finally learns to read the room 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 Kotlin 2.2. allDistinctBy/ allEqualBy: A Simpler Way to Check Collections For years, checking whether all values in a collection were unique often looked something like this: val users = listOf( User(name = "A", age = 20), User(name = "B", age = 25), User(name = "C", age = 30) ) users.map { it.age }.distinct().size == users.size // true It works, but it creates another list, removes duplicates, counts the result, and then compares the sizes just to get a Boolean answer. Kotlin 2.4.20 adds a more direct way to express the same check: users.allDistinctBy { it.age } // true users.allEqualBy { it.age } // false allDistinctBy returns false as soon as it finds a duplicate, so it doesn't need to process the entire collection or create a separate Set. allEqualBy does the opposite: it checks whether all elements produce the same value when passed through the selector. Both functions work with Iterable, Sequence, and arrays. They use structural equality. For floating-point values, they follow Double.equals semantics, so NaN is considered equal to NaN, while -0.0 is different from 0.0. They're still @ExperimentalStdlibApi, so you'll need to opt in before using them in production code. The underlying allDistinct() and allEqual() requests have also been around in YouTrack for quite a while, which makes their appearance in the standard library feel long overdue. Context-Sensitive Resolution: Less Repetition in when The second feature is more about syntax. When the compiler already knows the type you're working with, you can sometimes leave out the type qualifier. Before: enum class Problem {

## On-Device AI Series (Part 5): LiteRT-LM

DevFeed: [On-Device AI Series (Part 5): LiteRT-LM](<https://devfeed.tech/articles/on-device-ai-series-part-5-litert-lm-22949.md>)

Original publisher: [Read original article](<https://proandroiddev.com/on-device-ai-series-part-5-litert-lm-d6c23b102094?source=rss----c72404660798---4>)

Author: Oğuzhan Aslan

Published: 2026-09-14T05:59:12Z

Content type: tutorial

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [LiteRT](<https://devfeed.tech/topics/litert.md>), [On-device AI](<https://devfeed.tech/topics/on-device-ai.md>), [Large Language Model](<https://devfeed.tech/topics/llm.md>), [Inference](<https://devfeed.tech/topics/inference.md>), [Streaming](<https://devfeed.tech/topics/streaming.md>), [GPU](<https://devfeed.tech/topics/gpu.md>), [LLM evaluation / benchmarking](<https://devfeed.tech/topics/llm-evaluation-benchmarking.md>), [PyTorch](<https://devfeed.tech/topics/pytorch.md>)

Tags: [ai](<https://devfeed.tech/tags/ai.md>), [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [benchmarking](<https://devfeed.tech/tags/benchmarking.md>), [gpu](<https://devfeed.tech/tags/gpu.md>), [inference](<https://devfeed.tech/tags/inference.md>), [litert](<https://devfeed.tech/tags/litert.md>), [llama](<https://devfeed.tech/tags/llama.md>), [llm](<https://devfeed.tech/tags/llm.md>), [multimodal](<https://devfeed.tech/tags/multimodal.md>), [on-device](<https://devfeed.tech/tags/on-device.md>), [on-device-ai](<https://devfeed.tech/tags/on-device-ai.md>), [programming](<https://devfeed.tech/tags/programming.md>), [pytorch](<https://devfeed.tech/tags/pytorch.md>), [qwen](<https://devfeed.tech/tags/qwen.md>), [software-development](<https://devfeed.tech/tags/software-development.md>), [streaming](<https://devfeed.tech/tags/streaming.md>)

### AI overview

This tutorial explains LiteRT-LM for running large language models on-device. It covers the Engine/Session API, streaming output, system prompts, tool calling, multimodal inputs, thinking mode, and CPU-versus-GPU benchmarking. The article also discusses tradeoffs involving privacy, network independence, latency, memory, sampling configuration, and model capability compared with cloud APIs.

### Source excerpt

Put your phone in airplane mode. Open the app, type a question, and watch the answer arrive one token at a time -- no spinner waiting on a network round-trip, no API key, no per-token bill, and nothing you typed ever leaving the device. LiteRT-LM removes the genuinely hard parts of running an LLM on-device -- KV-cache management, token streaming, backend selection -- but it doesn't remove your job so much as relocate it. What's left on your plate is a short, specific list: sizing a combined input+output token budget, owning your own sampling defaults, hand-building system prompts and tool calling out of raw text, and one native-library collision that presents as a SIGSEGV rather than a build error. Know those going in and the API itself is a clean three-step pattern. We'll get there in that order: Why you'd choose this runtime and what it costs you versus the cloud. The Engine/Session model you need to read the code at all. Real implementation samples -- streaming, system prompts and tool calling, multimodal inputs, thinking mode, and CPU-vs-GPU benchmarking. The anti-patterns to avoid. A developer-friendliness rating on the same rubric as Parts 1-4. Why Use LiteRT-LM? You reach for LiteRT-LM instead of hand-rolling generation on top of raw LiteRT when: You need multi-turn conversation, not single-shot inference -- session state and KV-cache bookkeeping are handled for you, and resetting a conversation is a session swap, not a model reload. You need streaming output -- token-by-token delivery for a responsive chat UI, instead of a blocking call that returns everything at once. You're choosing between CPU and GPU per device -- the explicit backend parameter turns that into a runtime decision instead of a build-time guess. You want a pre-converted model without doing your own PyTorch-to-LiteRT conversion work -- the Model Zoo covers Gemma, Qwen, Llama, and more out of the box. You're willing to own sampling -- the engine won't pick sane decoding defaults for you; that's on the

## The Thumb That Ran Ahead of the Finger: Anatomy of a Compose Slider Bug

DevFeed: [The Thumb That Ran Ahead of the Finger: Anatomy of a Compose Slider Bug](<https://devfeed.tech/articles/the-thumb-that-ran-ahead-of-the-finger-anatomy-of-a-compose-slider-bug-22952.md>)

Original publisher: [Read original article](<https://proandroiddev.com/the-thumb-that-ran-ahead-of-the-finger-anatomy-of-a-compose-slider-bug-ddec306251d0?source=rss----c72404660798---4>)

Author: Vitaliy Gribko

Published: 2026-09-14T04:19:34Z

Content type: article

Language: en

Sources: [ProAndroidDev - Medium](<https://devfeed.tech/sources/proandroiddev-medium.md>)

Topics: [bug](<https://devfeed.tech/topics/bug.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Android](<https://devfeed.tech/topics/android.md>), [Design system](<https://devfeed.tech/topics/design-system.md>), [Code](<https://devfeed.tech/topics/code.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [bug](<https://devfeed.tech/tags/bug.md>), [code](<https://devfeed.tech/tags/code.md>), [compose](<https://devfeed.tech/tags/compose.md>), [debugging](<https://devfeed.tech/tags/debugging.md>), [design-system](<https://devfeed.tech/tags/design-system.md>), [jetpack-compose](<https://devfeed.tech/tags/jetpack-compose.md>), [kotlin](<https://devfeed.tech/tags/kotlin.md>), [qa](<https://devfeed.tech/tags/qa.md>), [race-condition](<https://devfeed.tech/tags/race-condition.md>), [ui](<https://devfeed.tech/tags/ui.md>)

### AI overview

This article examines a deterministic bug in a custom Compose slider where the thumb moves ahead of the user's finger during a drag. It traces the issue to a design-system slider forked from the AOSP Material implementation and discusses debugging and code simplification.

### Source excerpt

A bug report sat in the backlog for seven months. The fix took a day, deleted a third of the slider's logic, and was almost shipped with a second bug inside -- until a machine read my diff better than I did. This is the whole story: the ported behavior that never made sense, the race nobody reported, and why the best fixes remove code. The report The bug report was seven months old when it reached me. A QA engineer had filed it in December, with a screen recording and three steps: Open the people search filters. Grab the right-hand thumb of the age range slider. Drag it slowly to the left. The recording showed the problem in two seconds. The thumb does not follow the finger. It sprints ahead -- you are still crossing the gap between two ticks, and the thumb is already standing on the next one, waiting for you, like a dog that runs to the park while you are still tying your shoes. Expected: the thumb moves with the finger. Actual: it escapes. On a budget phone, on two Android versions, every time. Not a race condition, not a flake -- a perfectly deterministic lie, filmed in December, assigned to a fix-day in July. Seven months is not negligence. It is the natural half-life of a visual glitch filed as minor against a screen nobody dies on. The age filter works. You tap a tick, the value applies. Only the drag -- the one gesture the slider exists for -- feels wrong in a way that is hard to screenshot and easy to deprioritize. When the ticket finally landed on my desk, a colleague glanced at it and asked whether it had already been fixed once. It had not. But I understood his confusion later, when I opened the slider's source and found a comment that explained everything -- including why this bug felt so old. The comment that confessed The slider is not the framework's slider. Our design system ships its own Compose slider, forked from the AOSP Material one, because design needed three knobs the framework does not expose: a custom thumb radius, a custom track height, a differ

## \[Crypto\] Time-based one-time password (TOTP) for 2FA, part II: YubiKey

DevFeed: [\[Crypto\] Time-based one-time password (TOTP) for 2FA, part II: YubiKey](<https://devfeed.tech/articles/crypto-time-based-one-time-password-totp-for-2fa-part-ii-yubikey-20551.md>)

Original publisher: [Read original article](<https://yurichev.com/blog/TOTP2/>)

Published: 2026-09-13T22:00:00Z

Content type: article

Language: en

Sources: [Dennis Yurichev](<https://devfeed.tech/sources/dennis-yurichev.md>)

Topics: [passwords](<https://devfeed.tech/topics/passwords.md>), [Command-line interface](<https://devfeed.tech/topics/cli.md>), [Code](<https://devfeed.tech/topics/code.md>), [Linux](<https://devfeed.tech/topics/linux.md>), [Android](<https://devfeed.tech/topics/android.md>), [USB](<https://devfeed.tech/topics/usb.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [code](<https://devfeed.tech/tags/code.md>), [command-line](<https://devfeed.tech/tags/command-line.md>), [linux](<https://devfeed.tech/tags/linux.md>), [password](<https://devfeed.tech/tags/password.md>), [secrets](<https://devfeed.tech/tags/secrets.md>), [usb](<https://devfeed.tech/tags/usb.md>)

### AI overview

The article examines using a YubiKey to store TOTP secrets for two-factor authentication. It explains that HMAC keys are intended to remain inside the device, but describes a Linux ykman weakness that could allow an attacker with temporary physical access to generate future TOTP keys and potentially log in during the relevant 30-second interval if the account password is also known.

### Source excerpt

[Crypto] Time-based one-time password (TOTP) for 2FA, part II: YubiKey

## Android Weekly Issue #744

DevFeed: [Android Weekly Issue #744](<https://devfeed.tech/articles/android-weekly-issue-744-22735.md>)

Original publisher: [Read original article](<https://androidweekly.net/issues/issue-744/rss.xml>)

Published: 2026-09-13T16:28:25Z

Content type: article

Language: en

Sources: [Android Weekly](<https://devfeed.tech/sources/android-weekly.md>)

Topics: [Android](<https://devfeed.tech/topics/android.md>), [Development](<https://devfeed.tech/topics/development.md>), [Compose](<https://devfeed.tech/topics/compose.md>), [Artificial Intelligence](<https://devfeed.tech/topics/ai.md>), [Rive animation](<https://devfeed.tech/topics/rive-animation.md>)

Tags: [android](<https://devfeed.tech/tags/android.md>), [android-development](<https://devfeed.tech/tags/android-development.md>), [compose](<https://devfeed.tech/tags/compose.md>), [developers](<https://devfeed.tech/tags/developers.md>), [lottie](<https://devfeed.tech/tags/lottie.md>), [net-11-preview-7](<https://devfeed.tech/tags/net-11-preview-7.md>), [offline-speech-recognition](<https://devfeed.tech/tags/offline-speech-recognition.md>), [rive](<https://devfeed.tech/tags/rive.md>), [speech](<https://devfeed.tech/tags/speech.md>), [tutorials](<https://devfeed.tech/tags/tutorials.md>)

### AI overview

Android Weekly Issue #744 is a developer digest covering Android architecture and AI, annotation-based DSL APIs, animated paywalls, offline speech recognition in keyboards, Compose dialog blurring, and structural hot reload across Android, iOS, and desktop.

### Source excerpt

Articles & Tutorials Sponsored Pushwoosh launches a new Push-only plan Stop overpaying for push notifications. Get powerful push infrastructure for $7 per 1,000 MAU, with high-speed delivery, 99.9% push-to-gateway delivery, migration support, and a 24-month price lock. Calculate your savings. Android's AI Era: Hype vs. Architecture Thomas Künneth examines Android's AppFunctions architecture and agent distribution claims behind Google's "intelligent system" framing. Two Racing Lines: Annotations and the DSL in NetFlow 0.7.0 KMP Bits explains adding an annotation-based API layer atop NetFlow's DSL, keeping compile-time-checked mapping and paging support intact. Sponsored How many app issues fell off your radar this week? Mobile teams deal with a firehose of incoming issues: regressions from QA, beta feedback, Play Store reviews, crashes, etc. AI code makes managing this even harder. Triage by Runway pulls every issue into one inbox, de-dupes, assigns, and tracks fixes so nothing is missed. See how it works. Adding Rive and Lottie Animations to Android Paywalls Jaewoong Eum explains building custom Rive and Lottie animated components for RevenueCat's server-driven Android paywalls. I Put Speech Recognition Inside an Android Keyboard. Here's What Broke. Farhad Ranjbar explores the architecture challenges of building an offline speech-recognition engine inside an Android keyboard. How to blur what's behind a Compose dialog, down to API 23 Timofey Krestyanov explains blurring content behind a Compose dialog across window boundaries, down to API 23. Compose HotSwan 2.0.0: The Future of Hot Reload on Android, iOS, and Desktop Jaewoong Eum introduces Compose HotSwan 2.0's own interpreter engine, enabling structural hot reload across Android, iOS, and Desktop. Place a sponsored post Advertise to more than 80k Android developers! Advertise your Android development related service or product! We reach out to more than 80k Android developers around the world, every week, through

[Next page](<https://devfeed.tech/tags/android.md?cursor=WyIyMDI2LTA5LTEzVDE2OjI4OjI1KzAwOjAwIiwgIjliNjQwZGU1LTU5YzgtNDg5Yi04MDNmLTZiOWI0ZmQyZTNhNSJd>)