Illustration by Virginia Poltrack

Now in Android #67

Welcome to Now in Android, your ongoing guide to what’s new and notable in the world of Android development.

Episode 67 Video and Podcast

Now in Android is also offered as a video and podcast.

Cross device SDK Developer Preview 📱↔️📱

We launched the Cross device SDK for Android developer preview, which allows you to build rich multi-device experiences, abstracting away the intricacies involved with working with device discovery, authentication, and connection protocols.

The initial release contains APIs that allow you to easily find nearby devices, start your app on a secondary device, authorize peer-to-peer communication with encrypted, low-latency bi-directional data sharing, and transfer or extend your app’s user experience across devices. The current preview supports Android phones and tablets; the Cross device SDK will be available later for other Android surfaces and non-Android OSs.

CameraX 1.2 Beta 📸

CameraX version 1.2 is now in Beta. It introduces a zero shutter lag capture mode along with MlKitAnalyzer, an implementation of ImageAnalysis.Analyzer that handles much of the ML Kit setup for you. MlKitAnalyzer works with both cameraController and cameraProvider workflows and can even handle coordinate transformations between ML Kit output and your PreviewView. Zero shutter lag greatly reduces image capture lag on supported devices by using a circular buffer of captures to get the frame closest to the actual press of the shutter button.

Build Tiles fast with the WearOS Material Tiles Library

Tiles are one of the most used surfaces on Wear OS, providing users glanceable access to the information and actions they need to get things done quickly. We launched the Tiles Material library allowing you to use pre-built Material components such as Button, Chip, CompactChip, TitleChip, CircularProgressIndicator, and Text along with layouts such as PrimaryLayout, EdgeContentLayout, MultiButtonLayout, and MultiSlotLayout to create tiles that embrace the latest Material design for Wear OS. Together with the Tiles Design Kit, they help you to easily follow the Tiles Design Guidelines.

New deep links monitor in Play Console 🔗

Deep links allow you to get your users directly to in-app content by accepting traffic from external sources, including the web. Since answering basic questions like “is this URL deep-linked?” or “why is this deep link not working?” can be difficult to answer, many apps have partial, broken, or no deep links configured. To make it easier for you to keep your deep links in good shape, we’ve introduced a new, dedicated Play Console page that gives you a quick but comprehensive snapshot of your current setup along with tooling to help you identify and troubleshoot issues at a glance.

Celebrating 5 years of Kotlin on Android 🎉

Five years ago Android announced official support for the interoperable, mature, production-ready, and open source Kotlin programming language. Since then, JetBrains and Google have been collaborating around the development of Kotlin, and the Kotlin Foundation was co-founded by the two companies; JetBrains developing both the language and tooling has given Kotlin outstanding IDE support. We put together some posts and videos to celebrate the journey and elaborate the milestones of Kotlin on Android with many of the people that helped to make it happen.

Mad Skills: Performance 🏎️💨

The MAD Skills series on Performance continued with a blog post from Ben and a video from Tomáš that covers how to use the Macrobenchmark library along with UIAutomator to help generate Baseline Profiles for you. Baseline Profiles help your app to start and run faster by optimizing critical code paths ahead of time, allowing for a smoother user experience.

For ongoing content, be sure to check the MAD Skills playlist on YouTube, the articles on Medium, or this handy landing page that points to all of it.

AndroidX releases 🚀

In AndroidX, the Wear Compose Version 1.0.1 release fixed a logic bug in ScalingLazyColumn. As mentioned before, we released Wear Tiles Version 1.1. Webkit Version 1.5 added setAlgorithmicDarkeningAllowed, and added support for setting an allow-list of URLs for the configured proxy.

Check out all of the AndroidX releases at this link.

Video 📹

Over in video, we covered how TikTok used Android tools to improve app startup and make the user experience more seamless, and how it impacted app usage and Play Store ratings.

We also introduced the Google Play Academy course around designing kids’ apps, ensuring that they’re fun, usable, and appropriate for their target age group. The course covers the framework for rating kids apps on Google Play that teachers across the US use, so you can understand what they’re looking for to help your app stand out.

Articles 📚

Avish, our summer Android DevRel Engineer intern, discussed modern approaches to creating Android media apps leveraging experience in converting the Universal Android Media Player (UAMP) media playback sample app to Compose, updating it to use modern libraries such as Media3.

Terence covered tips to improve your app’s user experience with notifications before targeting Android 13, as well as how to test your app’s integration with the permission without flashing different OS versions onto your device.

Ben wrote a FAQ on the Jetpack Compose Accompanist, a labs-like environment for new Compose APIs. Accompanist is used to help fill known gaps in the Compose toolkit, experiment with new APIs and to gather insight into the development experience of building a Compose library. The goal of Accompanist is to eventually upstream libraries into the official toolkit. (at which point they will be deprecated and removed from Accompanist) Current libraries in Accompanist include support for Flow Layouts, Pager, Navigation Transitions, and Swipe Refresh.

Now then… 👋

That’s it for this time, with the Cross device SDK Developer Preview, CameraX 1.2 Beta, the release of the WearOS Material Tiles Library, the new deep links monitor in Play Console, 5 years of Kotlin on Android, MAD Skills: Performance on Baseline Profiles with Microbenchmark, AndroidX updates, and more. Come back here soon for the next update from the Android developer universe.

--

--

Daniel Galpin

Developer Advocate at Google, writer, editor, theatrical performer, and social dancer.