By Dave Burke, VP of Engineering

Every day, billions of people around the world use Android devices to get things done. It’s the support of the developer community, the feedback and suggestions from developers that help us build a stronger Android.

Today, we’re bringing you the next version of Android, the first developer preview of Android 13. With Android 13, we continue to push some important themes: privacy and security, and developer productivity. We’ll also help you make the most of the 250 million active big-screen Android devices, based on some recent updates to 12L.

For Android 13, this is just the beginning. We’ll be sharing more with you in future releases. Read on and visit the Android 13 developer website to learn how to download and install system images using Pixel, as well as the release schedule. As always, it’s important to hear feedback early, giving us time to reflect it into the final release. We’re excited to hear what you think, and we thank you in advance for helping us make Android a platform for everyone!

Privacy and security are at the core

When dealing with their most private and sensitive information, people want to use trusted operating systems and apps. Privacy is at the heart of Android’s product philosophy, and Android 13 focuses on creating a more secure environment on devices and giving users more control to build a responsible, high-quality platform for everyone. In today’s developer preview, we’re rolling out a photo picker that allows users to securely share photos and videos within the app; And a new Wi-Fi permission to further reduce the application’s need for location permission. We encourage you to try these new apis and test how these changes might affect your application.

Photo Picker and API – To protect the privacy of users’ photos and videos, Android 13 adds a System Photo picker, which is a standard and optimized way for users to securely share local and cloud photos. Android has long allowed users to share any type of file with an app through the document picker, and the app doesn’t need access to all media files on the device. Photo pickers extend this capability and provide a more immersive experience for photos and videos. Apps can access photos and videos shared by users through the Photo picker API, and don’t need to have access to all media files on the device. As part of the update to the MediaProvider module on devices running Android 11 and above (not including Go devices), we plan to bring the Photo Picker experience to more Android users with the Google Play system update. You are welcome to try out the Photo selector API and share your feedback with us!

Photo picker provides a unified and secure way for users to authorize applications to access photos and videos

Nearby Device Permission – Android 13 Added the NEARBY_WIFI_DEVICES runtime permission (in the NEARBY_DEVICES permission group) to the application that manages the connection between the device and nearby Wi-Fi hotspots. Applications that invoke many common Wi-Fi apis require this permission to discover and connect to nearby devices over Wi-Fi without requiring location permission. Previously, the need for location permissions was a challenge for applications that only needed to connect to a Wi-Fi device, but didn’t actually need to know the location of the device. Apps targeting Android 13 can now apply for NEARBY_WIFI_DEVICES access via the “neverForLocation” attribute, which will help promote privacy-friendly app design while reducing the barriers developers face. Please visit the official documentation for details.

Developer productivity and tools

Android 13 also brings new features and tools to improve developer productivity. Helping developers create beautiful apps that run on billions of devices is one of our core missions. Whether it’s on Android 13 or through our Modern Android Development tools, like your favorite Kotlin language or Jetpack’s recommended API. We want to reduce development costs by helping you work more efficiently, allowing you to focus on continuing to build amazing experiences.

Here’s what’s new in today’s developer preview:

Quick Settings Placement API – Quick Settings in the notification bar allows users to change Settings or do things quickly without leaving the application. For applications that offer custom tiles, we’ll make it easier for users to find your tiles and add them to the shortcut Settings. With the new tile placement API, your application can now prompt users to add your custom tiles directly to a quick Settings tile group. A new system dialog lets users add tiles in a single click without leaving your app, rather than going to quick Settings to manually add tiles.

Themed App ICONS – In Android 13, we’ve extended Material You Dynamic colors to all app ICONS outside of Google Apps, giving users the ability to choose icon colors based on their wallpaper and other themed preferences. All your app needs to do is provide a monochrome app icon (such as your notification Drawable) and make some adjustments to the adaptive icon XML. We encourage all developers to provide compatible ICONS to provide a consistent experience for those who choose to use this feature. Themed app ICONS will initially be supported on Pixel devices, and we’re working with our device manufacturer partners to bring this feature to more devices. Please visit the official documentation for details.

Language preferences for individual applications – Some applications allow users to choose a language that is different from the system language to meet the needs of multilingual users. Such applications can now call a new system API to set or get the user’s preferred language, reducing boilerplate code and improving compatibility when setting up the application’s runtime language. For wider compatibility, we will be adding a similar API to the upcoming Jetpack development library. Please visit the official documentation for details.

Faster hyphens – hyphens make folded text easier to read and make your interface more adaptable. In Android 13, we improved the performance of the hyphen by up to 200%, and you can now enable the hyphen in TextView with almost no effect on rendering performance. If you want to enable faster hyphenations, you can use the new fullFast or normalFast frequencies in setHyphenationFrequency(). You are welcome to experience faster hyphenation and share your thoughts with us!

Programmable Shader (Shader) – Android 13 added support for programmable RuntimeShader objects, Its behavior is defined using Android Graphics Shading Language (AGSL). AGSL shares most of the syntax with GLSL, but works within the Android rendering engine to customize the drawing in the Android canvas and filter the content in the View. Android uses these shaders internally to achieve ripple, blur, and excessive scrolling and stretching effects, and Android 13 enables you to create similar advanced effects for your own applications.

AGSL dynamic shader adapted from GLSL shader

OpenJDK 11 Update – In Android 13, we have begun updating the Android core library to align with the OpenJDK 11 LTS release, providing code base updates and Java 11 programming language support for application and platform developers. As part of the ART module update for devices running Android 12 and above, we plan to release the changes to these core libraries to more devices through the Google Play system update. Please visit the official documentation for details.

Application compatibility

When we release new versions of the platform, we prioritize application compatibility to make the experience of system updates faster and smoother. In Android 13, most application-oriented changes are optional to give you more time to adjust and adapt, and we’ve updated tools and processes to help you get ready faster.

More Android Features updated with Google Play – With Android 13, we continue to expand our resources for the Google Play System Update (Project Mainline), Enables a more consistent and secure environment for applications across devices and delivers new features and functionality to users. We can now push new features, such as photo picker and OpenJDK 11, directly to users of older Versions of Android through updates to existing modules. We’ve also added new modules, such as Bluetooth and uWB modules, to further expand the range of core features that Android can update.

Optimized for Tablets, foldable devices, and Chromebooks – With the boom in large-screen devices like tablets, foldable devices, and Chromebooks, now is the time to get your apps ready for these devices and design fully adaptive apps for any screen. You can get started with our tablet Application Quality guide and then learn how to build for large screens and foldable devices.

Easier testing and debugging for changes – To make it easier for you to test optional changes that might affect your application, we still put many of the change switches in your hands this year. You can force these changes to be enabled or disabled separately in the developer option or adb. Please visit the official documentation for details.

App compatibility switch in developer options

Platform stability Milestones – As last year, we will inform you of our platform stability milestones in advance, giving you more time to plan your application compatibility efforts. When we reach this milestone, we will not only deliver the final SDK/NDK API, but we will also lock down the final internal API and application-oriented system behavior. We expect to reach the platform stability milestone in June 2022, at which point you’ll have a few weeks for final testing before the official release. The release schedule is as follows:

Start playing Android 13 now

Whether you want to try out Android 13’s features, test your apps, or submit feedback, you can start with this developer preview. If you want to test your app’s compatibility with tablets and foldable devices, the easiest way is to use the Android emulator’s tablet or foldable device configuration, please read the official documentation for setup instructions. For phones, simply download the system image and swipe it into the Pixel 6 Pro / 6/5A 5G / 5/4A (5G) / 4A / 4 XL / 4 device to start using immediately. If you don’t have a Pixel device, you can use an Android emulator with a 64-bit system image in Android Studio. For more extensive testing, we also provide GSI images.

After setting, you can:

  • Play with new features and apis – Your feedback is critical in the early stages of the developer preview. You can either report problems on our tracking page or head to our Feedback and Requirements page to provide direct feedback through a feature-specific questionnaire.
  • Test compatibility of existing apps – This is to test whether your app is affected by Android 13’s default behavior changes. Simply install your currently published app on a device or emulator running Android 13 and test it.
  • Test your app with Optional Changes – Android 13 provides optional behavior changes that only affect your app if it targets a new platform. It is important to understand and evaluate these changes early. To make it easier to test, you can enable or disable these changes individually.

We will update the preview system image and SDK periodically throughout the Android 13 release cycle. The initial preview of this release is for developers only, not for everyday or consumer use, so we only provide manual downloads. After manually installing the preview version, you will automatically receive subsequent preview and Beta updates over OTA. Please visit the official documentation for details:

As we move closer to the Beta release, we will also invite consumers to try out Android 13, which will open up Android Beta sign-ups. Note, however, that Android 13 is not currently available in Beta.

For full information on this release, visit the Android 13 developer website.

** Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates. *