1. Grab cuts ANRs by a third with R8 and startup profiles
If your app ships without R8 optimization or baseline profiles, this is one of the cheapest speed and stability wins left on Android.
Google's Android Developers Blog published a case study on Grab, the Southeast Asian superapp for rides, food delivery and payments. Grab used R8, the tool that shrinks and optimizes app code, together with profile guided optimization, which prepares the code users run most. The result was about 32 percent fewer ANRs, the app not responding errors, and about 35 percent faster startup.
2. One malformed text message can crash Android's phone service
A text message that can end an emergency call is a platform bug, so teams building telephony, SMS or system apps should watch for the fix.
The details
A report that reached the Hacker News front page and Lobsters says a single malformed WAP Push message, a kind of SMS used for things like carrier settings, crashes com.android.phone. That is the system process that runs calling. When it crashes, active calls drop, including emergency calls. The Hacker News thread drew about 180 comments.
3. DataStore 1.3.0 is stable, alongside WebKit 1.18 and Palette 1.1
Stable versions are the ones safe to ship, so this is a good week to update DataStore and WebKit in apps that use them.
alphabetarelease candidatestable1.3.0
The details
Google released version 1.3.0 of DataStore as stable. DataStore is the Jetpack library that replaces SharedPreferences for saving small settings and typed data. The same release batch made WebKit 1.18.0, the helper library for WebView features, and Palette 1.1.0, which pulls colors from images, stable as well.
4. Android 11 still runs on about one phone in ten
Before raising your minimum SDK, check your own users, because one phone in ten on Android 11 means old versions still matter.
The details
Android Authority reports that Android 17, this year's release, is barely making a dent in the numbers, while Android 11, released in 2020, still powers about 10 percent of phones. More than a quarter of users have upgraded, but millions of devices are still on outdated software.
5. Why coroutine tests flake, and the habits that stop it
Flaky tests cost a team more trust than failing ones, and this post targets the dispatcher and scheduler habits behind most coroutine flakes.
The details
Kevin Schildhorn at Touchlab wrote a guide to hardening Kotlin coroutine tests, and Android Weekly picked it up. Coroutines are Kotlin's way of writing code that waits without blocking. The post explains why tests that use them pass on one run and fail on the next, and which habits around test dispatchers and schedulers remove the flakiness.