Now in Android #81

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

Episode 81 Video and Podcast

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

Android Studio Flamingo is stable 🦩

This release includes multiple enhancements and features to help you build better apps more efficiently. Here’s a summary:

  • UI Tools: Live Edit, themed app icon Preview support, dynamic color Preview and Jetpack Compose and Material 3 Templates.
  • Build: Build analyzer task categorization, one-click automated profileable build and run, support for SDK extensions and support for Android Gradle Plugin 8.0.
  • Inspect: updates to App Quality Insights, network inspector traffic interception and auto-connect to foreground process in Layout Inspector.
  • IntelliJ: IntelliJ Platform 2022.2 update.

Read the blog post or watch the video to learn more about how Android Studio Flamingo🦩 can help supercharge your productivity and download the latest stable version today!

But wait, there’s more! When you upgrade to Android Studio Flamingo and Android Gradle Plugin (AGP) 8.0, you need to update your app build files to accommodate five important build behavior changes. Boris walks you through them in his article.

Android 14 reaches Beta 1

We’re releasing the first Beta of Android 14, building around our core themes of privacy, security, performance, developer productivity, and user customization while continuing to improve the large-screen device experience on tablets, foldables, and more. Some highlights of this release include:

  • New tools and resources to polish your app experience in multiple form factors, including design inspiration and development guides.
  • Smarter System UI, with features like the new back arrow and a superior system sharesheet.
  • New graphics features that you can use to make your app really stand out, by adding capabilities to Path API.
  • Improved personalization with per-app language preference.
  • Limiting visibility to disability-focused accessibility services.

We’ve been making steady progress refining the features and stability of Android 14, and it’s time to open the experience up to both developers and early-adopters. Review the behavior changes to focus your testing and read the blog to learn more:

For complete information on how to get the Beta, visit the Android 14 developer site.

We’re looking forward to hearing what you think, and thank you in advance for your continued help in making Android a platform that works for everyone.

Kotlin DSL is Now the Default for New Gradle Builds

Android has been Kotlin-first for four years and many Android developers have made the switch resulting in higher productivity and more stable apps. However, the default language to define builds has been Groovy (build.gradle), even though a Kotlin (build.gradle.kts) option has existed in Gradle for a number of years.

Today we’re excited to announce that we’re switching the default language for build scripts to Kotlin. If you are creating new projects or modules starting from Android Studio Giraffe, you now get the Kotlin DSL by default.

This means that Kotlin is the single default language used for all project code, including UI with Jetpack Compose, and now build scripts!

AndroidX releases 🚀

Since the previous episode, there have been some AndroidX releases worth highlighting.

We released Compose Compiler Version 1.4.5 with support for Kotlin 1.8.20.

Emoji2 1.4.0-beta01 is released 🎉, including Emoji Picker, a UI solution that offers a modern look and feel, up-to-date emojis, and ease of use. It also includes updated emojis, emoji variants on long press, such as different genders or skin tones, RecentEmojiProvider which is responsible for providing emojis in the “Recently Used” category, and more.

The new graphics Shapes and Path (1.0.0-alpha01) libraries allow easy creation and rendering of rounded polygonal shapes, and simple and automatic morphing (animation) between different shapes.

WindowManager release

The 1.1.0-beta01 release of Jetpack WindowManager continues the library’s steady progress toward stable release of version 1.1.0. The beta adds an assortment of new features and capabilities, ready for testing and early adoption today!

What’s new in multiplatform Jetpack libraries

To support developers who are already using Kotlin Multiplatform for sharing business logic across mobile platforms, we previously released experimental multiplatform previews of the Collections and DataStore Jetpack libraries.

They are now graduating from previews to alpha releases, and will follow the normal release cycle of Jetpack libraries. Annotations, a core Jetpack library, is now also available for multiplatform.

Articles and documentation 📚

Rebecca wrote about pager composables: HorizontalPager and VerticalPager, and how to use them to create fun indicators and transitions between pages, with the Compose March 2023 release and above.

Talking about Compose, we have a very special guest post from Reddit, on how they’ve leveraged Compose in their Android App: designing reusable components to build Reddit Recap, custom animations and modifiers for their user’s Unique Ability Card, their performance analysis journey and more.

Traditional authentication solutions pose a number of security and usability challenges. Niharika explains how the Credential Manager API helps you and your users overcome these challenges in her article.

Sabs wrote 2 articles about Android App Links.

In the first one, he walks you through a quick and straightforward Android App Links implementation example, so you can leverage this strategies in your own app:

In the second one, he explains an efficient way to deploy your Google Digital Asset Links (DAL) file in order to ease the verification process for Android App Links:

Videos 📚🎥

Donovan covers the basics, setup, permissions, and more in the CameraX Foundations series.

First, he creates an Android Studio project for a simple CameraX app that shows a camera preview and can take a photo. This video focuses on the app setup and requesting the necessary permissions.

Next, he discusses how to implement Preview and ImageCapture in two different ways. Using CameraX’s LifecycleCameraController class, which handles more for you, giving you functionality like tap-to-focus and pinch-to-zoom out of the box.

Or with the ProcessCameraProvider class, which gives you more control to customize the camera behavior.

Your app will be ready to capture picture perfect moments in no time. So grab your camera and get ready to take some shots! 📷

ADB Podcast Episodes🎙

In the latest episode of the Android Developers Backstage podcast, Raluca Sauciuc joins Tor and Romain to talk about what goes on behind the scenes in Android Studio. Raluca takes us through the tools and workflows used by the Android Studio team to improve performance and memory usage, and avoid future regressions. She also explains how the team adopts new versions of the IntelliJ IDE and platform, and how they can deal with massive code merges.

Now then… 👋

That’s it for this week! With the release of Android Studio Flamingo 🦩, Android 14 Beta 1, Kotlin DSL as the default language for new Gradle builds, lots of new articles including fun animations using pager composables and Android App Links, and AndroidX releases like Emoji2, WindowManager and more!

Check back soon for the next update from the Android developer universe! 💫

--

--

Alejandra Stamato
Android Developers

Lead Android Developer | Ex Android DevRel @ Google | 🇦🇷 in London🏴󠁧󠁢󠁥󠁮󠁧󠁿