Category Archives: Android Developers Blog

An Open Handset Alliance Project

Access Android vitals data through the new Play Developer Reporting API

Posted by Lauren Mytton, Product Manager, Google Play

Hand holding a phone 

Quality is foundational to your game or app’s success on Google Play, and Android vitals in Google Play Console is a great way to track how your app is performing. In fact, over 80% of the top one thousand developers check Android vitals at least once a month to monitor and troubleshoot their technical quality, and many visit daily

While the Android vitals overview in Play Console lets you check your app or game’s quality at a glance, many developers have told us that they want to work with their vitals data outside Play Console, too. Some of your use cases include:

  • Build internal dashboards
  • Join with other datasets for deeper analysis, and
  • Automate troubleshooting and releases

Starting today, these use cases are now possible with the new Play Developer Reporting API.

The Play Developer Reporting API allows developers to work with app-level data from their developer accounts outside Play Console. In this initial launch, you get access to the four core Android vitals stability and battery metrics: crash rate, ANR rate, excessive wake-up rate, and stuck background wake-lock rate, along with crash and ANR issues and stack traces. You can also view anomalies, breakdowns (including new country filters in Vitals), and three years of metric history.


Set up access to the new Play Developer Reporting API from 
the API Access page in Play Console.

Set up access to the new Play Developer Reporting API from the API Access page in Play Console.

Getting started with the API

To enable the API, you must be an owner of your developer account in Play Console. Then you can set up access in minutes from the API Access page in Play Console. Our documentation covers everything you need to know to get started.

Using the API

You can find sample requests in the API documentation, along with a list of available endpoints (for both alpha and beta releases).

Best practices

Once you have enabled the API, you may wish to send some requests manually to get a sense of the API resources and operation before implementing more complex solutions. This can also help you establish query times, which will vary depending on the amount of data being processed. Queries over long time ranges, across many dimensions, and/or against very large apps will take longer to execute.

Most of our metric sets are refreshed once a day. To avoid wasting resources and request quota, we recommend you use the provided methods to check for data freshness and verify that new data is available before issuing a query.

Thank you to all the developers who requested this feature. We hope it helps you continue to improve your apps and games. We hope it helps you continue to improve your apps and games. To learn more about Android vitals and the Play Developer Reporting API, view our session from the Google for Games Developer Summit.

How useful did you find this blog post?

Google Play Logo 

Things to know from the 2022 Google for Games Developer Summit

Posted by Greg Hartrell, Product Director, Games on Play/Android

Google for Games Developer Summit 

Over the years, we’ve seen that apps and games are not just experiences - they’re businesses - led by talented people like yourselves. So it's our goal to continue supporting your businesses to reach even greater potential. At our recent Google for Games Developer Summit, we shared how teams across Google have been continuing to build the next generation of services, tools and features to help you create and monetize high quality experiences, more programs tailored to your needs, and more educational resources with best practices.

We want to help you throughout the game development lifecycle, by making it easier to develop high quality games and deliver these great experiences to growing audiences and devices.


Easier to bring your game to more screens
To enable games on new screens and devices, we want to help you meet players where they are, giving them the convenience of playing games wherever they choose.

  • Gameplay across tablets, foldables, and Chromebooks is on the rise and offers the opportunity to be more engaging and immersive than ever before. In 2021, Android usage on CrOS grew 50% versus the previous year, led by games.
  • Google Play Games for PC Beta rolled out in January to South Korea, Taiwan, and Hong Kong. This standalone Windows PC application built by Google, allows users to play a high quality catalog of Google Play games seamlessly across their mobile phone, tablet, Chromebook, or (now) their Windows PC. Learn more and start to optimize your game for more screens today.
  • Play as you download beta program was announced last year and we will soon open it up to all Android 12 users. PAYD allows users to get into gameplay in seconds while game assets are downloaded in the background. and can happen with minimal developer changes to your underlying implementation. Sign up for the beta.

Easier to develop high quality games

We’re committed to supporting you build high quality Android games, by continuing to focus on tools and SDKs that simplify development and provide insights about your game, while also partnering with game engines, including homegrown native c/c++ engines. Last year, we released the Android Game Development Kit (AGDK), a set of tools and libraries to help make Android Game Development more efficient, and have made several updates based on developer feedback.

  • Android Game Development Extension allows game developers to build directly for Android from within Visual Studio. To make debugging easier across Java and C, AGDE will now include cross compatibility between Android Studio and Visual Studio so you can open and edit your AGDE projects in Android Studio’s debugger.
  • The new Memory Advice API (Beta) library added to AGDK helps developers understand their memory consumption by combining the best signals for a given device to determine how close the device is to a low memory kill.
  • We’ve fully launched the Android GPU Inspector Frame Profiler to help you understand when your game is bottlenecked on the GPU vs. CPU, and achieve better frame rates and battery life.

More tools to help you succeed on Google Play

The Play Console is an invaluable resource to help in your game lifecycle, with tools and insights to assist before and after launch.

  • We continue to invest in programs to help developers of all sizes grow their businesses with Google Play. For our largest developers, we launched the Google Play Partner Program for Games, offering additional growth tools and premier services, tailored for the unique needs of developers at this scale.
  • Reach and devices helps you make foundational decisions about what devices to build for, where to launch and what to test, both pre-launch and post-launch. It already shows your install and issue distributions across a range of device attributes. Today, we’re launching Google Play revenue and revenue growth distributions for your game and its peers, so you can build revenue-based business cases for troubleshooting or device targeting, if that suits your business model better than using installs.
  • We recently launched Strategic guidance in Console, which provides an intuitive way to help you evaluate how well your game is monetizing, and see opportunities to grow revenue. You can think of Reach & devices as helping you to understand revenue opportunities from a technical perspective; strategic guidance does the same from a business perspective, so you can use them together to provide a holistic picture of your IAP revenue drivers.
  • Android vitals is your destination to monitor and improve your game’s stability on Google Play. For those of you who have games with global presence, we’ve just launched country breakdowns and filters for Vitals metrics, so it’s easier for you to prioritize and troubleshoot stability issues. In addition, today we’re launching the Developer Reporting API which gives you programmatic access to your core Android vitals metrics and issue data, including crash and ANR rates, clusters, and stack traces.

Learn more about everything we shared at the Google for Games Developer Summit and by visiting g.co/android/games for additional resources and documentation. We remain committed to supporting the developer ecosystem and greatly appreciate your continued feedback and investment in creating high quality game experiences for players around the world.

Jetpack DataStore – wrap up

Posted by Simona Stojanovic, Android Developer Relations Engineer

MADSkills Jetpack DataStore 

Now that our MAD Skills series on Jetpack DataStore is complete, let’s do a quick wrap up of all the things we’ve covered in each episode:


Episode 1 — Introduction to Jetpack DataStore

We started with the basics of Jetpack DataStore — how it works and the changes and improvements it brings compared to SharedPreferences. We also discussed how to decide between its two implementations, Preferences and Proto DataStore, as well as how to choose between DataStore and Room.

Check out the blog post and the video:


Episode 2 — All about Preferences DataStore

Go deeper into Preferences DataStore: how to create it, read, and write data and how to handle exceptions, all of which should, hopefully, provide you with enough information to decide if it’s the right choice for your app.

Here’s the blog post and the video:


Episode 3 — All about Proto DataStore

Learn about Proto DataStore: how to create it, read, and write data and how to handle exceptions, to better understand the scenarios that make Proto a great choice.

If you prefer reading, here’s the blog post, otherwise, here’s the video:


Episode 4 — DataStore-serialization, sync work, and dependency injection

Episode 4 introduces several different concepts related to DataStore to understand how it works under the hood, so that you have everything at your disposal to use it in a production environment. We focus on: Kotlin Data class serialization, synchronous work, and dependency injection with Hilt.

Take a look at our blogs and video:

DataStore and dependency injection

DataStore and Kotlin serialization

DataStore and synchronous work


Episode 5 — DataStore-handling data migration and testing

Finally, in the fifth episode of our Jetpack DataStore series, we cover two additional concepts around DataStore: DataStore-to-DataStore migrations and testing. Hopefully, this will provide you all the information you need to add DataStore to your app successfully.

Check out the blogs and the video:

DataStore and data migration

DataStore and testing

Play Time with Jetpack Compose

Learn about Google Play Store’s strategy for adopting Jetpack Compose, how they overcame specific performance challenges, and improved developer productivity and happiness.

Posted by Andrew Flynn & Jon Boekenoogen, Tech leads on Google Play

In 2020, Google Play Store engineering leadership made the big decision to revamp its entire storefront tech stack. The existing code was 10+ years old and had incurred tremendous tech debt over countless Android platform releases and feature updates. We needed new frameworks that would scale to the hundreds of engineers working on the product while not negatively impacting developer productivity, user experience, or the performance of the store itself.

We laid out a multi-year roadmap to update everything in the store from the network layer all the way to the pixel rendering. As part of this we also wanted to adopt a modern, declarative UI framework that would satisfy our product goals around interactivity and user delight. After analyzing the landscape of options, we made the bold (at the time) decision to commit to Jetpack Compose, which was still in pre-Alpha.

Since that time, the Google Play Store and Jetpack Compose teams at Google have worked extremely closely together to release and polish a version of Jetpack Compose that meets our specific needs. In this article we'll cover our approach to migration as well as the challenges and benefits we found along the way, to share some insight into what adopting Compose can be like for an app with many contributors.

Play Store rewrote their UI with 50% less code with Compose

Considerations

When we were considering Jetpack Compose for our new UI rendering layer, our top two priorities were:

  1. Developer Productivity: Play Store team has hundreds of engineers contributing to this code, so it should be easy (and fun) to develop against.
  2. Performance: Play Store renders lots of media-heavy content with many business metrics that are very sensitive to latency and jank, so we needed to make sure it performed well across all devices, especially low-memory hardware and Android (Go Edition) devices.

Developer Productivity

We have been writing UI code using Jetpack Compose for over a year now and enjoy how Jetpack Compose makes UI development more simple.

We love that writing UI requires much less code, sometimes up to 50%. This is made possible by Compose being a declarative UI framework and harnessing Kotlin’s conciseness. Custom drawing and layouts are now simple function calls instead of View subclasses with N method overrides.

Using the Ratings Table as an example:

ratings table

With Views, this table consists of:

  • 3 View classes total, with 2 requiring custom drawing for the rounded rects, and stars
  • ~350 lines of Java, 55 lines of XML

With Compose, this table consists of:

  • All @Composable functions contained in the same file and language!
  • ~210 lines of Kotlin

buffering GIF

Animations are a hailed feature of Compose for their simplicity and expressiveness. Our team is building motion features that delight our Play Store users more than ever with Compose. With Compose’s declarative nature and animations APIs, writing sequential or parallel animations has never been easier. Our team no longer fears all the corner cases of animations around cancellation and call back chaining. Lottie, a popular animation library, already provides Compose APIs that are simple to work with.

Now you might be thinking: this all sounds great, but what about library dependencies that provide Views? It's true, not all library owners have implemented Compose-based APIs, especially when we first migrated. However, Compose provides easy View interoperability with its ComposeView and AndroidView APIs. We successfully integrated with popular libraries like ExoPlayer and YouTube’s Player in this fashion.

Headshot of Andrew

Performance

The Play Store and Jetpack Compose teams worked closely together to make sure Compose could run as fast and be as jank-free as the View framework. Due to how Compose is bundled within the app (rather than being included as part of the Android framework), this was a tall order. Rendering individual UI components on the screen was fast, but end to end times of loading the entire Compose framework into memory for apps was expensive.

One of the largest Compose adoption performance improvements for the Play Store came from the development of Baseline Profiles. While cloud profiles help improve app startup time and have been available for some time now, they are only available for API 28+ and are not as effective for apps with frequent (weekly) release cadences. To combat this, the Play Store and Android teams worked together on Baseline Profiles: a developer-defined, bundled profile that app owners can specify. They ship with your app, are fully compatible with cloud profiles and can be defined both at the app-level of specificity and library-level (Compose adopters will get this for free!). By rolling out baseline profiles, Play Store saw a decrease in initial page rendering time on its search results page of 40%. That’s huge!

Re-using UI components is a core mechanic of what makes Compose performant for rendering, particularly in scrolling situations. Compose does its best to skip recomposition for composables that it knows can be skipped (e.g. they are immutable), but developers can also force composables to be treated as skippable if all parameters meet the @Stable annotation requirements. The Compose compiler also provides a handy guide on what is preventing specific functions from being skippable. While creating heavily re-used UI components in Play Store that were used frequently in scrolling situations, we found that unnecessary recompositions were adding up to missed frame times and thus jank. We built a Modifier to easily spot these recompositions in our debug settings as well. By applying these techniques to our UI components, we were able to reduce jank by 10-15%.

Recomposition visualization Modifier in action

Recomposition visualization Modifier in action. Blue (no recompositions), Green (1 recomposition).

Another key component to optimizing Compose for the Play Store app was having a detailed, end-to-end migration strategy for the entire app. During initial integration experiments, we ran into the Two Stack Problem: running both Compose and View rendering within a single user session was very memory intensive, especially on lower-end devices. This cropped up both during rollouts of the code on the same page, but also when two different pages (for example, the Play Store home page and the search results page) were each on a different stack. In order to ameliorate this startup latency, it was important for us to have a concrete plan for the order and timeline of pages migrating to Compose. Additionally, we found it helpful to add short-term pre-warming of common classes as stop-gaps until the app is fully migrated over.

Compose unbundling from the Android framework has reduced the overhead in our team directly contributing to Jetpack Compose, resulting in fast turnaround times for improvements that benefit all developers. We were able to collaborate with the Jetpack Compose team and launch features like LazyList item type caching as well as move quickly on lightweight fixes like extra object allocations.

Headshot of Jon

Looking Ahead

The Play Store’s adoption of Compose has been a boon for our team’s developer happiness, and a big step-up for code quality and health. All new Play Store features are built on top of this framework, and Compose has been instrumental in unlocking better velocity and smoother landings for the app. Due to the nature of our Compose migration strategy, we haven’t been able to measure things like APK size changes or build speed as closely, but all signs that we can see look very positive!

Compose is the future of Android UI development, and from the Play Store’s point of view, we couldn’t be happier about that!

App Excellence Summit 2022

Posted by The Google Play Team

ALT TEXT GOES HERE 

Did you know that 54% of users who left a 1-star review in the Play Store mentioned app stability and bugs? *

To help product managers and business decision makers understand how high quality app experiences drive business growth and what tools they can use to make sound business and technical decisions, we are hosting our first Android App Excellence Summit in just a few weeks! Join us on April 12 to get the knowledge needed to build high quality Android Apps and scale your business.

Tune in on April 12 at 9 AM Pacific to join the virtual fireside chat and in-depth product sessions. After our fireside chat, we’ll be releasing sessions focused on;

  • Achieving quality with the Play Console: What devices should you build for? How can you track issues? Which countries should you target next? Learn how to use the Google Console’s Reach and devices dashboard for foundational questions like minspec and country targeting, including new features for apps that monetize on Google Play.
  • Improving Developer Productivity: The developer productivity best practices can help you spend less time in maintenance and more time working on new features to delight users, improve your monetization, and achieve business success. Learn the best tools and recommendations to accelerate your development of high-quality apps.
  • Better together: Did you know that in 2021 the average US household had 25 connected devices? That’s twice as many since 2019. Learn how Android is making the ecosystem of devices more helpful, what users expect from your apps and how to optimize them across form factors.
  • And more!

We’re excited to bring you the latest announcements, insights, and best practices at our first Android App Excellence Summit.

Register today to save your spot and follow our Twitter channel and join the conversation by using #AppExcellenceSummit.

-------------------

* Source: Google Play internal data, May 2021.

Happening now! #TheAndroidShow: Tablets, Jetpack Compose & Android 13

Posted by Florina Muntenescu & Huyen Tue Dao, Co-Hosts of #TheAndroidShow

We’re just about to kick off another episode of #TheAndroidShow, you can watch here! In this episode, we’ll take you behind-the-scenes with Jetpack Compose, Android 13 and all of the updates to Android tablets. If you haven’t already, there’s still time to get your burning Android tablet questions answered from the team, using #AskAndroid. We've assembled a team of experts ready to answer your questions live!


First, we go behind-the-scenes with Jetpack Compose

First up in #TheAndroidShow, we’ll be discussing Jetpack Compose, Android’s modern, native UI toolkit. Last month, we released version 1.1 of Jetpack Compose, which contains new features like improved focus handling, touch target sizing, ImageVector caching, and support for Android 12 stretch overscroll. Compose 1.1 also graduates a number of previously experimental APIs to stable and supports newer versions of Kotlin. In #TheAndroidShow, we’ll take you behind-the-scenes in the world of animations with one of the engineers who helps build them, Doris Liu. And then we hear from Twitter about how Compose helps them build new features in half the time!


Next: the world of tablets, including the 12L feature drop, now in AOSP

Next up, we’ll jump into the world of tablets, following the big news from earlier this week: we’ve officially released the 12L feature drop to AOSP and it’s rolling out to all supported Pixel devices over the next few weeks. There are over 250+ million large screen Android devices, and 12L makes Android 12 even better on tablets, and includes updates like a new taskbar that lets users instantly drag and drop apps into split-screen mode, new large-screen layouts in the notification shade and lockscreen, and improved compatibility modes for apps. You can read more here.

Starting later this year, 12L will be available in planned updates on tablets and foldables from Samsung, Lenovo and Microsoft, so now is the time to make sure your apps are ready. We highly recommend testing your apps in split-screen mode with windows of various sizes, trying it in different orientations, and checking the new compatibility mode changes if they apply. You can read more about 12L for developers here.

We see large screens as a key surface for the future of Android, and we’re continuing to invest to give you the tools you need to build great experiences for tablets, Chromebooks, and foldables. You can learn more about how to get started optimizing for large screens, and make sure to check out our large screens developer resources.


Tune in now!

Finally, we wrap up the show with a conversation with the director for Android Developer Relations, Maru Ahues Bouza, where we talk about Android 13 as well as some of the broader themes you’ll continue to see from Android later this year.

It’s all happening right now on #TheAndroidShow - join us on YouTube!

Freeing up 60% of storage for apps

Posted by Lidia Gaymond and Vicki Amin, Product Managers at Google Play

One of the main reasons users uninstall apps is to free up space. To prevent unnecessary uninstalls and help users get more out of their devices, we started working on a new feature that would enable app archiving.

Archiving is a new functionality that will allow users to reclaim ~60% of app storage temporarily by removing parts of the app rather than uninstalling it completely. An archived app will remain on the device and can easily be restored to the latest available compatible version, whilst preserving the user data.

With the release of the upcoming version of Bundletool 1.10, we are taking the first step toward making archiving available to all developers using App Bundles. For apps built with the Android Gradle Plugin 7.3, we will start generating a new type of APK - archived APKs. Archived APKs are very small APKs that preserve user data until the app is restored. While we will start creating archived APKs now, they won’t be functional until the archiving functionality is launched to consumers later in the year.

Once launched, archiving will deliver great benefits to both users and developers. Instead of uninstalling an app, users would be able to “archive” it - free up space temporarily and be able to re-activate the app quickly and easily. Developers can benefit from fewer uninstalls and substantially lower friction to pick back up with their favourite apps.

As before, all APKs generated will be available to download and inspect through Generated APKs API or in Play Console under App Bundle Explorer. Since the functionality is open source, developers will be able to inspect the code, and other app stores can benefit from it too.

If you want to opt-out of the generation of archived APKs, you can modify the build.gradle file of the project:

android {
    bundle {
        storeArchive {
            enable = false
        }
    }
}

Alternatively, if you are not using Gradle to build your apps, you can opt-out with a new option in the BundleConfig:

{
  "optimizations": {
    "storeArchive": {
      "enabled": false
    }
  }
}

Keep an eye out for more information about app archiving on the Android Developers blog.

Keeping Google Play safe with our key 2022 initiatives

Posted by Krish Vitaldevara Director, Product Management, Play and Android Trust & Safety

Safety illustration 

Keeping Google Play safe for users and developers remains our top priority. Over the past year, we’ve partnered with developers to ensure their apps are safe. We helped developers to protect their apps, prepare to share their data safety practices with users, and collaborate on building more private advertising technology. We also continued investing in machine-learning detection and enhanced app review processes to stop apps with abusive or malicious content before anyone can install them.

We also realize that it can be challenging for developers to keep up with the pace of change in this evolving privacy and security landscape. We’ve been mindful to give developers clearer updates, more time for substantial changes, and more helpful information through Inbox Console Messages, global webinars, and additional education resources. Today, we’re excited to share more about what’s ahead in 2022 to give you plenty of time to prepare.

What we look forward to this year

Giving everyone a clear way to understand an app’s data safety practices

Developers want to explain data safety to users in a clear and simple way. In the upcoming Data safety section in your app’s Play store listing, you can share how your app collects, shares, and protects user data. Users told us that they value having this information to help them decide if an app is right for them. They’ll start to see the Data safety section in Google Play store in late April, so make sure to submit your Data safety form soon. Completed Data Safety forms will be required for all app updates starting July 20.

Building a more privacy-friendly approach to advertising

We recently announced that we’re expanding the Privacy Sandbox initiative to Android. We’re working on innovative solutions to improve user privacy, while continuing to support key mechanisms that developers rely on to build their businesses and provide access to free apps for everyone. We’re building this technology in close collaboration with developers. Join our email newsletter to stay updated.

Protecting developers' apps from privacy and fraudulent activity

Last fall, we started rolling out the new Play Integrity API to help you protect their games and apps and ensure that users have the intended experience that you designed. Now, everyone has access to this new API, making it easier to detect suspicious traffic and respond faster to issues like fraud and cheating. We've built this in a future-forward way so that you can easily get new features with little build time required to upgrade. Learn how to set it up for your apps here.

Helping developers navigate SDKs

Developers shared that they want faster communication from SDK providers about critical updates, so last year we gave SDK providers a way to notify you about urgent issues in your Google Play Console. You’ve also shared that you want to learn more about an SDK’s safety and reliability to avoid wasting build time or exposing users to unsafe practices. In a few months, we’ll start sharing information like an SDK’s adoption levels, its retention rate, and the runtime permission it uses to help you choose the right SDK for your business and users.

Enhancing protections for kids and families

Last year, we continued to refine our advertising restrictions and parental control requirements to further enhance privacy and safety for kids. Eligible developers can now add a badge to their upcoming Data safety section, highlighting that they’re committed to following our Families policy. You’ll also see continued policy updates this year designed to help protect kids' safety and privacy. Join our policy webinars or watch our PolicyBytes to stay updated.

Responsible Data Collection and Use

Developers should only collect and use the data required for app functionality and improvement. For practical tips on this front, you can view our best practices guide. This year, we’re continuing to align permissions more closely with the appropriate use cases. We’re also in active conversations with developers about ways to mitigate risks from apps that leverage APIs in older Android OS versions. Stay tuned to our policy update emails, as we’ll share more soon.

Thank you for your partnership in making Google Play a safe and trustworthy platform for everyone.

Google for Games Developer Summit returns March 15

Posted by Greg Hartrell, Product Director, Games on Play/Android

Image with Google for Games castle, rocket, volcano, and racetrack

With over three billion players showing strong engagement worldwide, the games market continues to remain resilient and grow beyond expectations. As we look ahead this year, the influx of new and returning players creates a great opportunity for developers to scale their games businesses.

The Google for Games Developer Summit returns virtually on March 15, 2022 at 9AM Pacific. From mobile to cloud, learn about our new solutions for game developers that make it easier to build high-quality games and reach audiences around the world.

Join us for the keynote at 9AM Pacific followed by over 20 developer sessions on-demand. We’ll share deep-dives and updates on the Android Game Development Kit, Google Play Games beta on PC, Play Asset Delivery, Play Console, and more. The summit is open for all. Check out the full agenda today at g.co/gamedevsummit.

Discontinuing Kotlin synthetics for views

Posted by Márton Braun, Developer Relations Engineer


ALT TEXT GOES HERE 

Synthetic properties to access views were created as a way to eliminate the common boilerplate of findViewById calls. These synthetics are provided by JetBrains in the Kotlin Android Extensions Gradle plugin (not to be confused with Android KTX).

In November 2020, we announced that this plugin has been deprecated in favor of better solutions, and we recommended removing the plugin from your projects. We know many developers still depend on this plugin’s features, and we’ve extended the support timeframe so you have more time to complete your migrations.

We are now setting a deadline for these migrations: the plugin will be removed in Kotlin 1.8, which is expected to be released by the end of 2022. At that time, you won’t be able to update your project to newer Kotlin versions if it still depends on the Kotlin Android Extensions plugin. This means that now is the time to perform the necessary migrations in your projects.

Instead of synthetics, we recommend using View Binding, which generates type-safe binding classes from XML layout files. These bindings provide convenient access to view references and they work safely for layouts with multiple configurations. See the migration guide for detailed instructions on how to adopt View Binding. If you encounter any issues, you can report a bug on the Issue Tracker.

When building new features, consider using Jetpack Compose, Android's modern UI toolkit. Layouts built with Compose are declarative Kotlin code, eliminating the need to work with view references.

Another feature included in the plugin is Parcelize, which helps you create parcelable classes. Parcelize is now available in the standalone kotlin-parcelize plugin with unchanged functionality. To get up and running with the new plugin, check out the Parcelize documentation page.

If you’re still using the Kotlin Android Extensions Gradle plugin, kick off your migration in time so that you can keep upgrading to new Kotlin releases in the future. This will enable you to use the latest language features and take advantage of tooling and compiler improvements.