Posted by Matthew McCullough – VP of Product Administration, Android Developer
The primary beta of Android 16 is now accessible, which suggests it is time to open the expertise as much as each builders and early adopters. Now you can enroll any supported Pixel machine right here to get this and future Android Beta updates over-the-air.
This construct consists of help for the way forward for app adaptivity, Reside Updates, the Superior Skilled Video format, and extra. We’re trying ahead to listening to what you suppose, and thanks upfront to your continued help make Android a platform that works for everybody.
Android adaptive apps
Customers count on apps to work seamlessly on all their units, no matter show measurement and kind issue. To that finish, Android 16 is phasing out the flexibility for apps to limit display screen orientation and resizability on massive screens. That is much like options OEMs have added over the past a number of years to massive display screen units to permit customers to run apps at any window measurement and side ratio.
On screens bigger than 600dp extensive, apps that concentrate on API degree 36 can have app home windows that resize; it is best to examine your apps to make sure your present UIs scale seamlessly, working nicely throughout portrait and panorama side ratios. We’re offering frameworks, tooling, and libraries to assist.

Key adjustments:
Timeline:
Reside Updates
Reside Updates are a brand new class of notifications that assist customers monitor and rapidly entry essential ongoing actions.
The brand new ProgressStyle notification template gives a constant person expertise for Reside Updates, serving to you construct for these progress-centric person journeys: rideshare, supply, and navigation. It consists of help for customized icons for the begin, finish, and present progress monitoring, segments and factors, person journey states, milestones, and extra.
ProgressStyle notifications are steered just for experience sharing, meals supply, and navigation use circumstances.
@Override protected Notification getNotification() { return new Notification.Builder(mContext, CHANNEL_ID) .setSmallIcon(R.drawable.ic_app_icon) .setContentTitle("Experience requested") .setContentText("On the lookout for close by drivers") .setStyle( new Notification.ProgressStyle() .addProgressSegment( new Notification.ProgressStyle.Phase(100) .setColor(COLOR_ORANGE) ).setProgressIndeterminate(true) ).construct(); }
Digicam and media updates
Android 16 advances help for the playback, creation, and enhancing of high-quality media, a important use case for social and productiveness apps.
Superior Skilled Video
Android 16 introduces help for the Superior Skilled Video (APV) codec which is designed for use for skilled degree prime quality video recording and put up manufacturing.
The APV codec customary has the next options:
- Perceptually lossless video high quality (near uncooked video high quality)
- Low complexity and excessive throughput intra-frame-only coding (with out pixel area prediction) to higher help enhancing workflows
- Assist for top bit-rate vary up to some Gbps for 2K, 4K and 8K decision content material, enabled by a light-weight entropy coding scheme
- Body tiling for immersive content material and for enabling parallel encoding and decoding
- Assist for numerous chroma sampling codecs and bit-depths
- Assist for a number of decoding and re-encoding with out extreme visible high quality degradation
- Assist multi-view video and auxiliary video like depth, alpha, and preview
- Assist for HDR10/10+ and user-defined metadata
A reference implementation of APV is supplied by the OpenAPV venture. Android 16 will implement help for the APV 422-10 Profile that gives YUV 422 shade sampling together with 10-bit encoding and for goal bitrates of as much as 2Gbps.
Digicam night time mode scene detection
To assist your app know when to modify to and from an evening mode digicam session, Android 16 provides EXTENSION_NIGHT_MODE_INDICATOR. If supported, it is accessible within the CaptureResult inside Camera2.
That is the API we briefly talked about as coming quickly within the “How Instagram enabled customers to take gorgeous low gentle images” blogpost. That put up is a sensible information on the way to implement night time mode along with a case research that hyperlinks higher-quality, in-app, night time mode images with a rise within the variety of images shared from the in-app digicam.
Vertical Textual content
Android 16 provides low-level help for rendering and measuring textual content vertically to offer foundational vertical writing help for library builders. That is notably helpful for languages like Japanese that generally use vertical writing methods. A brand new flag, VERTICAL_TEXT_FLAG, has been added to the Paint class. When this flag is ready utilizing Paint.setFlags, Paint’s textual content measurement APIs will report vertical advances as an alternative of horizontal advances, and Canvas will draw textual content vertically.
Word: Present excessive degree textual content APIs, reminiscent of Textual content in Jetpack Compose, TextView, Format courses and their subclasses don’t help vertical writing methods, and don’t help utilizing the VERTICAL_TEXT_FLAG.
val textual content = "「春は、曙。」" Field(Modifier .padding(innerPadding) .background(Coloration.White) .fillMaxSize() .drawWithContent { drawIntoCanvas { canvas -> val paint = Paint().apply { textSize = 64.sp.toPx() } // Draw textual content vertically paint.flags = paint.flags or VERTICAL_TEXT_FLAG val peak = paint.measureText(textual content) canvas.nativeCanvas.drawText( textual content, 0, textual content.size, measurement.width / 2, (measurement.peak - peak) / 2, paint ) } }) {}
Accessibility
Android 16 provides new accessibility APIs that can assist you deliver your app to each person.
Supplemental descriptions
When an accessibility service describes a ViewGroup, it combines content material labels from its youngster views. For those who present a contentDescription for the ViewGroup, accessibility companies assume you’re additionally overriding the content material of non-focusable youngster views. This may be problematic if you wish to label issues like a drop down (e.g. “Font Household”) whereas preserving the present choice for accessibility (e.g. “Roboto”). Android 16 provides setSupplementalDescription so you possibly can present textual content that gives details about a ViewGroup with out overriding data from its youngsters.
Required kind fields
Android 16 provides setFieldRequired to AccessibilityNodeInfo so apps can inform an accessibility service that enter to a kind area is required. This is a crucial state of affairs for customers filling out many sorts of kinds, even issues so simple as a required phrases and situations checkbox, serving to customers to persistently establish and rapidly navigate between required fields.
Generic ranging APIs
Android 16 consists of the brand new RangingManager, which gives methods to find out the gap and angle on supported {hardware} between the native machine and a distant machine. RangingManager helps the utilization of a wide range of ranging applied sciences reminiscent of BLE channel sounding, BLE RSSI-based ranging, Extremely-Wideband, and WiFi spherical journey time.
Conduct adjustments
With each Android launch, we search to make the platform extra environment friendly and sturdy, balancing the wants of your apps towards issues like system efficiency and battery life. This may end up in habits adjustments that impression compatibility.
ART inside adjustments
Code that leverages inside constructions of the Android Runtime (ART) might not work appropriately on units operating Android 16 together with earlier Android variations that replace the ART module by Google Play system updates. These constructions are altering in ways in which assist enhance the Android Runtime’s (ART’s) efficiency.
Impacted apps will must be up to date. Counting on inside constructions can at all times result in compatibility issues, however it’s notably essential to keep away from counting on code (or libraries containing code) that leverages inside ART constructions, since ART adjustments aren’t tied to the platform model the machine is operating on; they exit to over a billion units by Google Play system updates.
For extra data, see the Android 16 adjustments affecting all apps and the restrictions on non-SDK interfaces.
Migration or opt-out required for predictive again
For apps concentrating on Android 16 or larger and operating on an Android 16 or larger machine, the predictive again system animations (back-to-home, cross-task, and cross-activity) are enabled by default. Moreover, the deprecated onBackPressed will not be referred to as and KeyEvent.KEYCODE_BACK is not dispatched.
In case your app intercepts the again occasion and you have not migrated to predictive again but, replace your app to make use of supported again navigation APIs or briefly decide out by setting the android:enableOnBackInvokedCallback attribute to false within the <utility> or <exercise> tag of your app’s AndroidManifest.xml file.
Predictive again help for 3-button navigation
Android 16 brings predictive again help to 3-button navigation for apps which have correctly migrated to predictive again. Lengthy-pressing the again button initiates a predictive again animation, giving customers a preview of the place the again button takes them.
This habits applies throughout all areas of the system that help predictive again animations, together with the system animations (back-to-home, cross-task, and cross-activity).
Mounted fee work scheduling optimization
Previous to concentrating on Android 16, when scheduleAtFixedRate missed a activity execution resulting from being outdoors a legitimate course of lifecycle, all missed executions will instantly execute when app returns to a legitimate lifecycle.
When concentrating on Android 16, at most one missed execution of scheduleAtFixedRate can be instantly executed when the app returns to a legitimate lifecycle. This habits change is predicted to enhance app efficiency. Please take a look at the habits to make sure your utility will not be impacted. You may also take a look at by utilizing the app compatibility framework and enabling the STPE_SKIP_MULTIPLE_MISSED_PERIODIC_TASKS compat flag.
Ordered broadcast precedence scope not international
In Android 16, broadcast supply order utilizing the android:precedence attribute or IntentFilter#setPriority() throughout totally different processes is not going to be assured. Broadcast priorities for ordered broadcasts will solely be revered throughout the similar utility course of relatively than throughout all system processes.
Moreover, broadcast priorities can be robotically confined to the vary (SYSTEM_LOW_PRIORITY + 1, SYSTEM_HIGH_PRIORITY – 1).
Your utility could also be impacted if it does both of the next:
1. Your utility has declared a number of processes which have set broadcast receiver priorities for a similar intent.
2. Your utility course of interacts with different processes and has expectations round receiving a broadcast intent in a sure order.
If the processes have to coordinate with one another, they need to talk utilizing different coordination channels.
Gemini Extensions
Samsung simply launched new Gemini Extensions on the S25 sequence, demonstrating new methods Android apps can combine with the facility of Gemini. We’re working to make this performance accessible on much more kind components.
This preview is for the following main launch of Android with a deliberate launch in Q2 of 2025 and we plan to have one other launch with new developer APIs in This autumn. The Q2 main launch would be the solely launch in 2025 to incorporate deliberate habits adjustments that might have an effect on apps. The This autumn minor launch will decide up characteristic updates, optimizations, and bug fixes; it is not going to embrace any app-impacting habits adjustments.
We’ll proceed to have quarterly Android releases. The Q1 and Q3 updates, which can land in-between the Q2 and This autumn API releases, will present incremental updates to make sure steady high quality. We’re placing extra power into working with our machine companions to deliver the Q2 launch to as many units as doable.
There’s no change to the goal API degree necessities and the related dates for apps in Google Play; our plans are for one annual requirement annually, tied to the main API degree.
prepare
Along with performing compatibility testing on this subsequent main launch, just remember to’re compiling your apps towards the brand new SDK, and use the compatibility framework to allow targetSdkVersion-gated habits adjustments as they grow to be accessible for early testing.
App compatibility
The Android 16 Preview program runs from November 2024 till the ultimate public launch in Q2 of 2025. At key improvement milestones, we’ll ship updates to your improvement and testing environments. Every replace consists of SDK instruments, system photos, emulators, API reference, and API diffs. We’ll spotlight important APIs as they’re prepared to check within the preview program in blogs and on the Android 16 developer web site.
We’re concentrating on March of 2025 for our Platform Stability milestone. At this milestone, we’ll ship last SDK/NDK APIs and in addition last inside APIs and app-facing system behaviors. From that point you’ll have a number of months earlier than the ultimate launch to finish your testing. The discharge timeline particulars are right here.
Get began with Android 16
Now that we have entered the beta part, you possibly can enroll any supported Pixel machine to get this and future Android Beta updates over-the-air. For those who don’t have a Pixel machine, you possibly can use the 64-bit system photos with the Android Emulator in Android Studio.
If you’re at the moment on Android 16 Developer Preview 2 or are already within the Android Beta program, you may be provided an over-the-air replace to Beta 1.
If you’re in Android 25Q1 Beta and wish to take the ultimate secure launch of 25Q1 and exit Beta, you might want to ignore the over-the-air replace to 25Q2 Beta 1 and anticipate the discharge of 25Q1.
We’re searching for your suggestions so please report points and submit characteristic requests on the suggestions web page. The sooner we get your suggestions, the extra we will embrace in our work on the ultimate launch.
For the most effective improvement expertise with Android 16, we suggest that you simply use the most recent preview of Android Studio (Meerkat). When you’re arrange, listed here are a few of the issues it is best to do:
- Compile towards the brand new SDK, take a look at in CI environments, and report any points in our tracker on the suggestions web page.
- Take a look at your present app for compatibility, study whether or not your app is affected by adjustments in Android 16, and set up your app onto a tool or emulator operating Android 16 and extensively take a look at it.
We’ll replace the preview/beta system photos and SDK commonly all through the Android 16 launch cycle. When you’ve put in a beta construct, you’ll robotically get future updates over-the-air for all later previews and Betas.
For full data, go to the Android 16 developer web site.