First preview of Android 12

Android 12 logo

Posted by Dave Burke, VP of Engineering

Day by day, Android apps assist billions of individuals work, play, talk, and create on a variety of units from telephones and laptops to tablets, TVs, and vehicles. As extra folks come to depend on the experiences you construct, their expectations can rise simply as quick. It’s one of many causes we share Android releases with you early: your suggestions helps us construct a greater platform to your apps and all the individuals who use them. As we speak, we’re releasing the primary Developer Preview of Android 12, the subsequent model of Android, to your testing and suggestions.

With every model, we’re working to make the OS smarter, simpler to make use of, and higher performing, with privateness and safety on the core. In Android 12 we’re additionally working to offer you new instruments for constructing nice experiences for customers. Beginning with issues like suitable media transcoding, which helps your app to work with the most recent video codecs for those who don’t already help them, and simpler copy/paste of wealthy content material into your apps, like photographs and movies. We’re additionally including privateness protections and optimizing efficiency to maintain your apps responsive.

As we speak’s first preview is simply the beginning for Android 12, and we’ll have tons extra to share as we transfer by the discharge. Learn on for a style of what’s new in Android 12, and go to the Android 12 developer site for particulars on downloads for Pixel and launch timeline. As all the time, it’s essential to get your suggestions early, to assist us incorporate it into the ultimate product, so let us know what you think!

Alongside the work we’re doing in Android 12, later this month we’ll have extra to share on one other necessary device that helps you create nice consumer experiences extra simply: Jetpack Compose, our trendy toolkit for constructing native UI. Join us on #TheAndroidShow for a behind-the-scenes have a look at Jetpack Compose, livestreamed on February 24 at 9AM PT, and tweet your Jetpack Compose questions utilizing #TheAndroidShow to have them answered dwell on the present.

Belief and security

Privateness is on the coronary heart of every part we do, and in Android 12 we’re persevering with to give attention to giving customers extra transparency and management whereas retaining their units and knowledge safe. In right now’s launch we’ve added new controls over identifiers that can be utilized for monitoring, safer defaults for app parts, and extra. These adjustments might have an effect on your apps, so we suggest testing as quickly as potential. Look ahead to extra privateness and safety features coming in later preview releases.

Trendy SameSite cookie behaviors in WebView – In step with changes to Chrome and different browsers, WebView contains new SameSite cookie behaviors to supply further safety and privateness and provides customers extra transparency and management over how cookies can be utilized throughout websites. More here.

Restricted Netlink MAC – We’re persevering with to assist builders migrate to privacy-protecting resettable identifiers. In a multi-release effort to ease migration of device-scoped Netlink MAC, in Android 11 we restricted entry to it primarily based on API degree 30, and in Android 12 we’re making use of the restriction for all apps – no matter targetSDK degree. More here.

Safer exporting of parts – To forestall apps from inadvertently exporting actions, companies, and receivers, we’re altering the default dealing with of the android:exported attribute to be extra express. With this variation, parts that declare a number of intent filters should now explicitly declare an android:exported attribute. It is best to examine your parts within the manifest in an effort to keep away from set up errors associated to this variation. More here.

Safer dealing with of Intents – To make dealing with PendingIntents safer, Android 12 requires apps to explicitly declare a mutability flag, both FLAG_MUTABLE or the brand new FLAG_IMMUTABLE, for every PendingIntent. More here.

You’ll be able to learn extra about these and different privateness and safety adjustments here.

Higher consumer expertise instruments

In Android 12 we’re investing in key areas to assist ship a elegant expertise and higher efficiency for customers. Listed here are a number of the updates thus far.

Appropriate media transcoding – With the prevalence of HEVC {hardware} encoders on cellular units, digicam apps are more and more capturing in HEVC format, which gives important enhancements in high quality and compression over older codecs. Most apps ought to help HEVC, however for apps that may’t, we’re introducing suitable media transcoding.

With this characteristic, an app that doesn’t help HEVC can have the platform robotically transcode the file into AVC, a format that’s extensively suitable. The transcoding course of takes time, relying on the video and {hardware} properties of the machine. For example, a one minute 1080p video at 30fps takes round 9 seconds to transcode on a Pixel 4. You’ll be able to opt-in to make use of the transcoding service by simply declaring the media codecs that your apps do not help. For builders, we strongly suggest that your apps help HEVC, and if that’s not potential, allow suitable media transcoding. The characteristic shall be lively on all units utilizing HEVC format for video seize. We might love to listen to your suggestions on this characteristic. More here.

AVIF picture help – To provide you increased picture high quality with extra environment friendly compression, Android 12 introduces platform help for AV1 Image File Format (AVIF). AVIF is a container format for photographs and sequences of photographs encoded utilizing AV1. Like different trendy picture codecs, AVIF takes benefit of the intra-frame encoded content material from video compression. This dramatically improves picture high quality for a similar file dimension when in comparison with older picture codecs, equivalent to JPEG.

AVIF (18.2kB)

JPEG (20.7kB)

race car photo in AVIF (18.2kB)
race car photo in JPEG (20.7kB)

Credit score: Image comparison from AVIF has landed by Jake Archibald

Foreground service optimizations – Foreground companies are an necessary method for apps to handle sure kinds of user-facing duties, however when overused they will have an effect on efficiency and even result in app kills. To make sure a greater expertise for customers, we shall be blocking foreground service begins from the background for apps which might be focusing on the brand new platform. To make it simpler to transition away from this sample, we’re introducing a brand new expedited job in JobScheduler that will get elevated course of precedence, community entry, and runs instantly no matter energy constraints like Battery Saver or Doze. For back-compatibility, we’ve additionally constructed expedited jobs into the most recent launch of Jetpack WorkManager library. Additionally, to scale back distraction for customers, we’re now delaying the show of some foreground service notifications by as much as 10 seconds. This offers short-lived duties an opportunity to finish earlier than their notifications are proven. More here.

Wealthy content material insertion – Customers love photographs, movies and different expressive content material, however inserting and shifting this content material in apps will not be all the time straightforward. To make it easy to your apps to obtain wealthy content material, we’re introducing a brand new unified API that permits you to settle for content material from any supply: clipboard, keyboard, or drag and drop. You’ll be able to connect a brand new interface, OnReceiveContentListener, to UI parts and get a callback when content material is inserted by any mechanism. This callback turns into the one place to your code to deal with insertion of all content material, from plain and styled textual content to markup, photographs, movies, audio recordsdata, and extra. For back-compatibility, we’ve added the unified API to AndroidX. More here.

Haptic-coupled audio impact – In Android 12 apps can present audio-coupled haptic suggestions by the telephone’s vibrator. The vibration power and frequency are derived from an audio session, permitting you to create extra immersive sport and audio experiences. For instance, a video calling app may use customized ringtones to establish the caller by haptic suggestions, or you may simulate tough terrain in a racing sport. More here.

Immersive mode API enhancements for gesture nav – We’ve simplified immersive mode in order that gesture navigation is simpler and extra constant, for instance when watching a video, studying a e-book, or taking part in a sport. We’re nonetheless protecting apps from accidental gestures when in full-screen experiences associated to gaming, however in all different full-screen or immersive experiences (e.g. video viewers, studying, photograph gallery), for apps focusing on the brand new platform, we’re altering the default to permit customers to navigate their telephone with one swipe. More here.

Notification UI updates – We’re refreshing notification designs to make them extra trendy, simpler to make use of, and extra purposeful. On this first preview you’ll discover adjustments from the drawer and controls to the templates themselves. We’re additionally optimizing transitions and animations throughout the system to make them extra easy. As a part of the updates, for apps focusing on Android 12 we’re adorning notifications with customized content material with icon and develop affordances to match all different notifications. More here.

Quicker, extra responsive notifications – When customers faucet a notification, they count on to leap instantly into the app – the quicker the higher. To fulfill that expectation, builders ought to be sure that notification faucets set off Exercise begins instantly, fairly than utilizing “trampolines” – an middleman broadcast receiver or service – to start out the Exercise. Notification trampolines could cause important delays and have an effect on the consumer expertise. To maintain notifications responsive, Android 12 will block notification trampolines by stopping them from launching their goal Actions, and we’re asking builders emigrate away from this sample. The change applies solely to apps focusing on the brand new platform, however for all apps we’ll show a toast to make trampolines seen to you and to customers. More here.

Improved Binder IPC calls – As a part of our work on efficiency, we’ve put a give attention to decreasing system variability. We’ve taken a have a look at latency and workload distribution, and made optimizations that scale back the median expertise from the tail finish, or 99% percentile use case. In doing so, we’ve focused enhancements to system binder calls including light-weight caching methods and specializing in eradicating lock rivalry to enhance latency distribution. This has yielded roughly a 2x efficiency improve on Binder calls general, with important enhancements in particular calls, for instance a 47x enchancment in refContentProvider(), 15x in releaseWakeLock(), and seven.9x in JobScheduler.schedule().

App compatibility

We’re working to make updates quicker and smoother by prioritizing app compatibility as we roll out new platform variations. In Android 12 we’ve made most app-facing adjustments opt-in to offer you extra time, and we’ve up to date our instruments and processes that can assist you prepare sooner. We’ve additionally added new performance to Google Play system updates to offer your apps a greater setting on Android 12 units.

Extra of Android up to date by Google Play – We’re persevering with to develop our funding in Google Play system updates (Venture Mainline) to offer apps a extra constant, safe setting throughout units. In Android 12 we’ve added the Android Runtime (ART) module that lets us push updates to the core runtime and libraries on units working Android 12. We will enhance runtime efficiency and correctness, handle reminiscence extra effectively, and make Kotlin operations quicker – all with out requiring a full system replace. We’ve additionally expanded the performance of present modules – for instance, we’re delivering our suitable media transcoding characteristic inside an updatable module.

Optimizing for tablets, foldables, and TVs – With extra folks than ever utilizing apps on large-screen units like foldables, tablets, and TVs, now is a good time to ensure your app or sport is prepared. Get began by optimizing for tablets and building apps for foldables. And, for the largest display screen within the house, the primary Android 12 preview for Android TV can also be accessible. Along with bringing the most recent Android options to the TV with this preview, additionally, you will be capable to check your apps on the all-new Google TV expertise. Study extra on the Android TV Developers website and get began along with your ADT-3 developer kit.

Up to date lists of non-SDK interfaces – We’ve restricted further non-SDK interfaces, and as all the time your suggestions and requests for public API equivalents are welcome.

Simpler testing and debugging of adjustments – To make it simpler so that you can check the opt-in adjustments that may have an effect on your app, we’ve made a lot of them toggleable. WIth the toggles you possibly can force-enable or disable the adjustments individually from Developer choices or adb. Check out the details here.

mobile display of App Compatibility Changes with toggles

App compatibility toggles in Developer Choices.

Platform stability milestone – Like final 12 months, we’re letting you realize our Platform Stability milestone effectively prematurely, to offer you extra time to plan for app compatibility work. At this milestone we’ll ship not solely closing SDK/NDK APIs, but additionally closing inside APIs and app-facing system behaviors. We’re anticipating to achieve Platform Stability by August 2021, and also you’ll have a number of weeks earlier than the official launch to do your closing testing. The discharge timeline particulars are here.

The Developer Preview has every part you’ll want to strive the Android 12 options, check your apps, and provides us feedback. You may get began right now by flashing a device system image to a Pixel 3 / 3 XL, Pixel 3a / 3a XL, Pixel 4 / 4 XL, Pixel 4a / 4a 5G, or Pixel 5 machine. Should you don’t have a Pixel machine, you should use the 64-bit system photographs with the Android Emulator in Android Studio.

While you’re set up, listed below are a number of the issues it is best to do:

  • Strive the brand new options and APIs – your suggestions is essential in the course of the early a part of the developer preview. Report points in our tracker or give us direct suggestions by survey for chosen options from the feedback and requests web page.
  • Check your present app for compatibility – the purpose right here is to be taught whether or not your app is affected by default habits adjustments in Android 12. Simply set up your present printed app onto a tool or emulator working Android 12 and check.
  • Check your app with opt-in adjustments – Android 12 has opt-in habits adjustments that solely have an effect on your app when it’s focusing on the brand new platform. It’s extraordinarily necessary to know and assess these adjustments early. To make it simpler to check, you possibly can toggle the changes on and off individually.

We’ll replace the preview system photographs and SDK frequently all through the Android 12 launch cycle. This preliminary preview launch is for builders solely and never meant for each day or shopper use, so we’re making it accessible by handbook obtain solely. You’ll be able to flash a manufacturing facility picture to your Pixel machine, or you possibly can sideload an OTA picture to a Pixel machine working Android 11, by which case you received’t must unlock your bootloader or wipe knowledge. Both method, when you’ve manually put in a preview construct, you’ll robotically get future updates over-the-air for all later previews and Betas. More here.

As we get nearer to a closing product, we’ll be inviting customers to strive it out as effectively, and we’ll open up enrollments by Android Beta at the moment. Keep tuned for particulars, however for now please word that Android Beta will not be at the moment accessible for Android 12.

For full data, visit the Android 12 developer site.

Recent Articles

Related Stories

Stay on op - Ge the daily news in your inbox