Posted by Stephanie Cuthbertson, Director, Product Management
Editor’s note: The global community of Android developers has always been a powerful force in shaping the direction of the Android platform; each and every voice matters to us. We have cancelled the virtual launch event to allow people to focus on important discussions around racial justice in the United States. Instead, we are releasing the Android 11 Beta today in a much different form, via short-form videos and web pages that you can consume at your own pace when the time is right for you. Millions of developers around the world build their business with Android, and we’re releasing the Beta today to continue to support these developers with the latest tools. We humbly thank those who are able to offer their feedback on this release.
Today, we’re unwrapping the Beta release for Android 11 as well as the latest updates for developers from Kotlin coroutines, to progress on the Jetpack Compose toolkit, to faster builds in Android Studio, even a refreshed experience for the Play Console.
Android 11 Beta: now available
You’ve been helping us with feedback on the Android 11 developer previews since February, and today we released the first Beta of Android 11 focused on three key themes: People, Controls, and Privacy.
People: we’re making Android more people-centric and expressive, reimagining the way we have conversations on our phones, and building an OS that can recognize and prioritize the most important people in your life:
- Conversation notifications appear in a dedicated section at the top of the shade, with a people-forward design and conversation specific actions, such as opening the conversation as a bubble, creating a conversation shortcut on the home screen, or setting a reminder.
- Bubbles help users to keep conversations in view and accessible while multitasking. Messaging and chat apps should use the Bubbles API on notifications to enable this in Android 11.
- Consolidated keyboard suggestions let Autofill apps and Input Method https://developer.android.com/preview/overview#timeline Editors (IMEs) securely offer context-specific entities and strings directly in an IME’s suggestion strip, where they are most convenient for users.
- Voice Access, for people who control their phone entirely by voice, now includes an on-device visual cortex that understands screen content and context, and generates labels and access points for accessibility commands.
Controls: the latest release of Android can now help you can quickly get to all of your smart devices and control them in one space:
- Device Controls make it faster and easier than ever for users to access and control their connected devices. Now, by simply long pressing the power button, they’re able to bring up device controls instantly, and in one place. Apps can use a new API to appear in the controls. More here.
- Media Controls make it quick and convenient for users to switch the output device for their audio or video content, whether it be headphones, speakers or even their TV. You can enable this today from Developer Options, and it will be on by default in an upcoming Beta release. More here.
Privacy: In Android 11, we’re giving users even more control over sensitive permissions and working to keep devices more secure through faster updates.
- One-time permission lets users give an app access to the device microphone, camera, or location, just that one time. The app can request permissions again the next time the app is used. More here.
- Permissions auto-reset: if users haven’t used an app for an extended period of time, Android 11 will “auto-reset” all of the runtime permissions associated with the app and notify the user. The app can request the permissions again the next time the app is used. More here.
- Background location: In February, we announced developers will need to get approval to access background location in their app to prevent misuse. We’re giving developers more time to make changes and won’t be enforcing the policy for existing apps until 2021. More here.
- Google Play System Updates, launched last year, lets us expedite updates of core OS components to devices in the Android ecosystem. In Android 11, we more than doubled the number of updatable modules, and those 12 new modules will help improve privacy, security, and consistency for users and developers.
Developer friendliness: We want to make it easy for developers to take advantage of the new release, so to make compat testing easier, we’ve:
- Gated most breaking changes until you target Android 11 (so they won’t take effect until you explicitly change your manifest)
- Added new UI in developer options to let you toggle many of these changes for testing
- added a new Platform Stability release milestone where all API and behavior changes will be complete, so you can finalize your app updates knowing the platform is stable.
Android 11 also includes a number of other developer productivity improvements like wireless ADB debugging, ADB incremental for faster installs of large APKs, and more nullability annotations on platform APIs (to catch issues at build time instead of runtime), and more.
The first Beta for Android 11 is available today, with final SDK and NDK APIs and new features to try in your apps. If you have a Pixel 2, 3, 3a, or 4 device, enroll here to get Android 11 Beta updates over-the-air. As always, downloads for Pixel and the Android Emulator are also available. To learn about all of the developer features in Android 11, visit the Android 11 developer site.
Modern Android development
Over the past several years, the Android team has been hard at work improving the mobile developer experience, to make you more productive. This includes the Android Studio IDE, a great language (Kotlin!), Jetpack libraries to make common tasks easy, and Android App Bundles to improve app distribution. Today we call this modern Android development – bringing you the best of Android to make you as efficient and productive as possible.
Today, we released new features in Android Studio 4.1 Beta and 4.2 Canary, focused on a number of crucial asks from developers:
- Debugging is simpler with wireless debugging over ADB with Android 11 devices. We also added the Database Inspector and Dependency Injection (Dagger) tools;
- Device testing is better, with the Android Emulator now hosted directly inside the IDE. Tests now run side-by-side so you can see results from multiple devices at the same time. And we’ve improved the device manager to more easily handle your devices.
- Machine learning is easier — you can now import your models for ML Kit and TensorFlow Lite directly in the IDE.
- Build and deployment are faster thanks to Kotlin Symbol Processing, caching of the task graph in Gradle, and faster app deployment to all devices on Android 11. And the new build analyzer can help you diagnose where your build may have bottlenecks.
- Games tooling is more powerful with an updated performance profiler UI, an overhauled System Trace tool, and support for native memory profiling.
Try out the latest: Android Studio 4.1 Beta and Android Studio 4.2 Canary.
Kotlin and Jetpack
Languages and libraries are a major area of investment in modern Android development, with Kotlin’s modern, concise language and Jetpack’s opinionated powerful libraries all focused around making you more productive.
With the rise in Kotlin adoption (with over 70% of top 1000 apps on Google Play now using Kotlin) and so many developers using Kotlin, we can now use it to simplify your experience in new ways. Kotlin coroutines are a language feature of Kotlin which make concurrent calls much easier to write and understand. We’re making coroutines our official recommendation, and we’ve built coroutines support into 3 of the most-used Jetpack libraries — Lifecycle, WorkManager, and Room — so you can write even better code.
Kotlin itself also continues to get better with every release, thanks to the awesome team at Jetbrains. Kotlin 1.4 provides faster code completion, more powerful type inference enabled by default, function interfaces, as well as helpful quality of life improvements like mixing named and positioning arguments.
We also continue to push Jetpack forward – a suite of libraries which spans multiple Android releases and is designed to make common mobile development patterns fast and easy. Many of us have long loved Dagger, so we worked with the Dagger team to bring you Hilt, a developer-friendly wrapper on top of Dagger, as a recommended Dependency Injection solution for Android. You’ll find this in alpha ready to try out. We’ve also added a second new library App Startup, to help both app developers and library developers improve app startup time by optimizing initialization of libraries. We have many more updates to existing libraries as well, including a major update to Paging 3, rewritten Kotlin-first with full support for coroutines!
The latest on our new UI toolkit, Compose
There’s one more thing you need to be super productive — and that’s a powerful UI toolkit to quickly and easily build beautiful UIs on Android, with native access to the platform APIs. That’s why we’re building Jetpack Compose, our new modern UI toolkit that brings your app to life with less code, powerful tools, and intuitive Kotlin APIs.
Today we are launching Jetpack Compose Developer Preview 2, packed with features developers have been asking us for:
- Interoperability with Views (start mixing Composable functions in your existing app) (new!)
- Animations (new!)
- Testing (new!)
- Constraint Layout (new!)
- Adapter list (new!)
- Material UI components
- Text and editable Text (new!)
- Theming and Graphics
- Window management
- Input and Gestures
We’ve also added a number of new capabilities to Android Studio 4.2, in close partnership with Jetbrains Kotlin team, to help you build apps with Compose:
- Kotlin compiler plugin for code generation
- Compose Preview Annotations
- Real-time interactive Compose previews
- Deploy individual composables to device
- Compose Code completion
- Sample Data API for Compose
Compose isn’t ready for production use yet, in particular as we finish performance optimizations, but we’d love you to give it a try and share feedback. We plan to launch Alpha this summer and 1.0 next year.
An all-new Google Play Console
Google Play is focused on helping developers grow their business. With that mission in mind, we’ve redesigned the Google Play Console to help you maximize your success on our platform. In addition to being clearer and easier to use, we’ve added features to help you:
- Find, discover, and understand features to help you thrive on Google Play
- Find new guidance on policy changes, release status, and user feedback
- Better understand performance insights with new acquisition reports
- Enable everyone on your team to use Play Console features with new user management options
Learn more about the new Google Play Console in this post or join the beta now at play.google.com/console. Your feedback helps us continue to improve Google Play Console for everyone, so please let us know what you think.
Wrapping it all up
But there’s so much more we’re launching that we didn’t get to talk about!
- We have 12 talks we just posted right on the Android Developers YouTube channel.
- We’re launching 11 Weeks of Android to keep the conversation going, with new developer content each week on topics you’ve asked for, like UI, Jetpack and Machine Learning. Check out the schedule here to learn more.
- We’re introducing a global series of online community meetups to discuss what’s new in Android 11, how to make your app compatible, and the essentials and best practices of modern Android development. Find an Android 11 Meetup near you.