Android 16 is the release that made large screens non-negotiable. On tablets and foldables, apps targeting API 36 can no longer lock orientation or refuse to resize, and predictive back and edge-to-edge stopped being optional. It was also the first Android with two SDK releases in one year: the major one in June, and a minor one, 36.1, in December.

At a glance
| Version | Android 16 |
| API level | 36 (36.1 from Android 16 QPR2) |
| Name | Baklava, internal; visible in the SDK constant. Public name: Android 16 |
Build.VERSION_CODES | BAKLAVA (VERSION_CODES_FULL.BAKLAVA_1 for QPR2) |
| Release | Pixel rollout began 10 June 2025 |
| Launch devices | Samsung Galaxy Z Fold7, Z Flip7 and Z Flip7 FE, announced 9 July 2025 |
| Google Play target-API deadline | New apps and updates from 31 August 2026 (extension available to 1 November 2026) |
Google released Android 16 on 10 June 2025 for the Pixel 6 and newer, including
the Pixel 6a, Pixel Tablet and Pixel Fold. Google’s consumer post called it “the
earliest Android has launched a major release in the last few years.” The first
AOSP build, BP2A.250605.031.A2, carries the June 2025 security patch.
The preview cycle started early too. Developer Preview 1 came out on 19 November 2024; the five releases before it had opened their previews in February. Beta 1 followed on 23 January 2025, Beta 3 reached platform stability on 13 March, and Beta 4, the last scheduled beta, came on 17 April. The two developer previews and four betas are the parts below this overview.
The first phones sold with Android 16 were Samsung’s Galaxy Z Fold7 and Z Flip7, announced on 9 July and on sale from 25 July 2025 with One UI 8. Samsung says they were the first devices to ship with Android 16 out of the box. The Galaxy Z Flip7 FE, announced the same day, also ships with Android 16 and One UI 8.
Google confirmed the dessert name Baklava to Android Faithful in October 2024
and said it stays internal. Unlike Android 10 to 12, the name is visible to
developers: the SDK constant is BAKLAVA.
What it brought
- Progress-centric notifications.
Notification.ProgressStyledraws a progress bar withPointmilestones andSegmentstates, for rides, deliveries and navigation. Google called it “the basis for Live Updates”. - Live Updates. The system promotes some ongoing notifications to the top of the shade, the lock screen and a status bar chip. Pixel launched them with ride-share and food delivery apps (see QPR2 for the public API).
- Notification grouping. Notifications from one app are grouped automatically, whatever the app does.
- Adaptive refresh rate.
Display.hasArrSupport()andDisplay.getSuggestedFrameRate(int)help apps on displays that change their refresh rate on the fly. RecyclerView 1.4 uses it when a fling settles. - Performance tools.
ProfilingManagerstarts traces by itself on events such as a cold start or an ANR.JobScheduler.getPendingJobReasonsHistory()explains why a job has not run. Games get CPU and GPU headroom APIs. - Camera and media. Hybrid auto-exposure, colour temperature and tint
controls, night mode detection, motion photo intents, UltraHDR in HEIC, and
the APV codec (
MediaFormat.MIMETYPE_VIDEO_APV) for professional video. - Photo picker. It can be embedded in an app’s own view hierarchy.
- Health records. Health Connect gained early-access APIs to read and write medical records in FHIR format, with explicit user consent.
- Vertical text. With
Paint.VERTICAL_TEXT_FLAG,Paintmeasures andCanvasdraws text top to bottom, for scripts such as Japanese. It is a low-level API for libraries:TextViewand theLayoutclasses do not support it. - Accessibility. “Outline text” replaces high contrast text, Auracast
broadcast audio is supported, and LE Audio hearing aid users can talk through
the phone’s microphone in noisy places. Developers got
setSupplementalDescription()for view groups andAccessibilityNodeInfo.setFieldRequired()for required form fields. - Other APIs. A
RangingManagerfor UWB, Bluetooth channel sounding and Wi-Fi RTT; AGSL colour filters (RuntimeColorFilter); richer haptics inandroid.os.vibrator; and a “Measurement system” setting under Languages & region.

The Material 3 Expressive redesign was not in the June release. Google said more design updates would come later in 2025. They reached the Pixel 6 and newer and the Pixel Tablet in the September Pixel Drop, on 3 September 2025.
Desktop windowing was announced but also not in the June release. Google built it with Samsung: on large screens, apps open in windows that can be moved and resized, beside the single-app and split-screen modes. Google said it would reach compatible devices later in 2025.
Security and privacy
- Advanced Protection. One switch, under Security & privacy, turns on
Google’s strictest device settings for people at risk, such as journalists.
It blocks sideloading, turns off 2G and WEP, enables memory tagging (MTE) on
supported devices, protects USB, reboots a phone locked for 72 hours, and can
keep encrypted intrusion logs. Apps check it with
AdvancedProtectionManagerand theQUERY_ADVANCED_PROTECTION_MODEpermission. - Intent redirection hardening. Android 16 blocks general intent
redirection by default, for every app. An app that has to forward a nested
intent can opt out with
Intent.removeLaunchSecurityProtection(). - Safer intents, opt-in. With
android:intentMatchingFlags="enforceIntentFilter", an explicit intent must match the target’s intent filter, and intents without an action match nothing. - Key sharing.
KeyStoreManager.grantKeyAccess()lets an app give another app, by UID, access to an Android Keystore key. - MediaStore version.
MediaStore.getVersion()returns a value unique to each app; do not parse it or assume its format. - GPU syscall filtering. On Pixel 6 to 9, deprecated and development-only Mali GPU IOCTLs are blocked in production builds.
Permissions
- Health sensors. For apps targeting 36,
BODY_SENSORSgives way to granularandroid.permissions.healthpermissions such asREAD_HEART_RATE, andBODY_SENSORS_BACKGROUNDtoREAD_HEALTH_DATA_IN_BACKGROUND. Phone apps must also show a privacy policy activity, or the permission is revoked. - Local network, preview. Google announced that local network access
(mDNS, SSDP,
NsdManager, sockets to private ranges) will need a runtime permission. In Android 16 it is opt-in for testing only:adb shell am compat enable RESTRICT_LOCAL_NETWORK <package>. While the test flag is on,NEARBY_WIFI_DEVICESrestores access. - Limited photo access. For apps targeting 36, photos the app created are pre-selected when the user grants partial media access.
- New permissions for features.
QUERY_ADVANCED_PROTECTION_MODE(see above). Live Updates gainedPOST_PROMOTED_NOTIFICATIONSin QPR2.
What changed for your app
All apps on Android 16
| Change | What to do |
|---|---|
JobScheduler quotas also apply to the active bucket, to jobs that outlive the visible app, and to jobs running beside a foreground service | Log getStopReason(); use user-initiated data transfer jobs for user-started transfers |
A job whose JobParameters is garbage collected before jobFinished() stops with STOP_REASON_TIMEOUT_ABANDONED | Keep a reference to JobParameters and always call jobFinished() |
setImportantWhileForeground() is ignored | Remove the call |
| Ordered broadcast priority only holds within one process | Coordinate processes through a bound service or AIDL, not android:priority |
| ART internals changed, also on Android 12+ through Play system updates | Replace non-SDK interface use; check libraries against Google’s known-issues list |
| A 4 KB-aligned app on a 16 KB page device runs in a compatibility mode and the user sees a dialog | Align native libraries to 16 KB; android:pageSizeCompat hides the dialog |
announceForAccessibility() is deprecated | Use pane titles, live regions, or setError() |
| Intent redirection is blocked by default | Test flows that launch an intent received from another app |
Companion device discovery no longer times out with RESULT_DISCOVERY_TIMEOUT | Treat RESULT_USER_REJECTED as the failure |
| On Bluetooth bond loss, the system keeps the bond, disconnects and asks the user to pair again | Remove your own re-pairing logic |
Apps targeting API 36
| Change | What to do |
|---|---|
On displays sw600dp and wider, screenOrientation, resizeableActivity, minAspectRatio and maxAspectRatio are ignored | Build layouts for any size and orientation and save UI state across recreation |
windowOptOutEdgeToEdgeEnforcement is disabled | Handle insets; edge-to-edge is mandatory |
Predictive back is on: onBackPressed() is not called and KEYCODE_BACK is not dispatched | Move to OnBackPressedCallback or OnBackInvokedCallback; android:enableOnBackInvokedCallback="false" opts out for now |
elegantTextHeight is ignored | Check layouts in Arabic, Thai, Tamil and other affected scripts |
scheduleAtFixedRate runs at most one missed execution when the app returns | Do not rely on catch-up runs |
BODY_SENSORS is replaced by health permissions | Request the granular permission and declare a privacy policy activity |
Bluetooth sends ACTION_KEY_MISSING and ACTION_ENCRYPTION_CHANGE | Use them as the bond-loss and bond-restored signals |
Games are exempt from the large-screen rule if they declare
android:appCategory="game", and users can still pick the app’s old behaviour
in the device’s aspect ratio settings. Developers got a temporary opt-out, the
android.window.PROPERTY_COMPAT_ALLOW_RESTRICTED_RESIZABILITY property, which
Google said would not apply once an app targets API 37.
Edge-to-edge was already enforced for apps targeting 35 in Android 15, which still allowed the opt-out attribute. Android 16 removed that escape.
Android 16 QPR2 and the first minor SDK
Android 16 changed Android’s release model. Google announced a major SDK release in Q2 2025, with behaviour changes, and a minor SDK release in Q4 2025 with new APIs only. The quarterly updates in between bring features but no new SDK.

The minor release is Android 16 QPR2, released on 2 December 2025 to the Pixel 6 and newer, Pixel 10 included. source.android.com lists it as API level 36.1. Google’s post calls it “the first release to utilize a minor SDK version”.
SDK_INT stays at 36. A new field, Build.VERSION.SDK_INT_FULL, carries the
major and minor version. In AOSP the value is the major level times 100,000
plus the minor, so VERSION_CODES_FULL.BAKLAVA_1 is 3600001. The source
documents the rule: minor releases add APIs with “no changes gated by
targetSdkVersion”. Build.getMajorSdkVersion() and getMinorSdkVersion()
decode the value. Google’s own check tests both fields:
if ((Build.VERSION.SDK_INT >= Build.VERSION_CODES.BAKLAVA) &&
(Build.VERSION.SDK_INT_FULL >= Build.VERSION_CODES_FULL.BAKLAVA_1)) {
// Call new APIs from the Android 16 QPR2 release
}
To compile against 36.1, AGP 8.13.0 or higher accepts a minor level:
android {
compileSdk {
version = release(36) { minorApiLevel = 1 }
}
}
What QPR2 added:
- Live Updates for every app.
POST_PROMOTED_NOTIFICATIONSappears in the public API at the QPR2 tag, not at 36. An ongoing notification with a title, a supported style andsetRequestPromotedOngoing(true)can be promoted.NotificationManager.canPostPromotedNotifications()tells whether the user allows it. - Expanded dark theme. Users can force dark theme on apps that have none;
the system reads
isLightThemeto decide what to invert. - Themed icons for all apps. If an app has no monochrome icon layer, the system generates one. Users can also pick icon shapes.
- SMS OTP protection. For most apps, a message carrying an SMS Retriever
hash is held for three hours: the
RECEIVE_SMSbroadcast is withheld and SMS provider queries are filtered. - Other APIs. Interactive chooser sessions, developer verification APIs for app installs, widget engagement metrics, IAMF audio decoding, and Health Connect steps recorded by the device itself.
What lasted
- Large screens. Android 17 removed the
temporary opt-out: apps targeting 37 on
sw600dpdisplays cannot keep their orientation or aspect ratio locks. - Local network. The QPR2 API already lists an
ACCESS_LOCAL_NETWORKpermission. Android 17 blocks local network access by default for apps targeting 37. - SMS OTP. Android 17 extends the three-hour hold to OTP messages for most apps targeting 37.
- ART. Google listed a generational Concurrent Mark-Compact collector among the QPR2 changes; the Android 17 note covers it, since ART updates through Google Play system updates.
- Process. For Android 17, Google skipped developer previews and went from Canary straight to beta; see the Android 17 betas, from Beta 1 to Beta 4, and the memory limits.
Worth knowing
- The dessert alphabet started over. After Vanilla Ice Cream, Google confirmed
Baklava, a B, and the first Android 16 build ID starts with B as well:
BP2A.250605.031.A2. - The Easter egg is the Android 15 starfield, sped up. In AOSP the maximum warp
went from
10fwith the comment “after all these years” in Android 15 to16fwith “must go faster”, and the stars from 34 to 128. - Holding the logo, or the space bar, warps the stars for five seconds; a second later the next stage opens: Landroid, the space game from Android 14, now with an Android 16 icon. The activity also asks for an HDR colour mode, “silently ignored on displays that don’t support HDR color”.
- Android 16 was the only 2025 release with planned behaviour changes; Google said so in its launch post.
Android 16 Developer Preview 1: two SDKs a year
19 November 2024. The first Android 16 build, for developers only, announced a major SDK in Q2 and a minor one in Q4, and previewed SDK_INT_FULL and the embedded photo picker.
Read on its own: Android 16 Developer Preview 1: two SDKs a yearGoogle released the first developer preview of Android 16 on 19 November 2024, three months earlier than the February previews of the five releases before it. The reason was the launch date: Google moved the major release from Q3 to Q2 2025, “to better align with the schedule of device launches across our ecosystem”.
| Release date | 19 November 2024 |
| Build | BP21.241018.009 |
| Security patch | November 2024 |
| Devices | Pixel 6, 6 Pro, 6a, 7, 7 Pro, 7a, Fold, Tablet, 8, 8 Pro, 8a, 9, 9 Pro, 9 Pro XL and 9 Pro Fold; 64-bit Android Emulator images |
| How to get it | Manual download only: flash a system image. Android Beta was not open |
| Platform stability | No; Google expected it in March 2025 |
The post announced two API releases in 2025. The Q2 major release would be
the only one with planned behaviour changes tied to targetSdkVersion. A Q4
minor release would add APIs, features and fixes, but no app-impacting
behaviour changes. To check for minor releases, DP1 previewed
SDK_INT_FULL, the VERSION_CODES_FULL enumeration and
Build.getMinorSdkVersion(), with the warning that they “have not yet been
finalized”. The Google Play target API requirement stayed one per year, tied
to the major API level.
The developer APIs in this build were few. Apps could embed the photo picker in their own view hierarchy, keeping its process isolation. Health Connect got an early-access API to read and write medical records in FHIR format. And the build carried the latest Privacy Sandbox on Android, including the SDK Runtime; Google retired the SDK Runtime and most other Privacy Sandbox technologies on 17 October 2025.
A Pixel already on the Android 15 QPR2 Beta 1 could not move to this preview without a wipe.
Android 16 Developer Preview 2: jobs and traces
18 December 2024. The second preview added system-triggered profiling, job pending reasons and richer haptics, and brought the first JobScheduler behaviour changes.
Read on its own: Android 16 Developer Preview 2: jobs and tracesDeveloper Preview 2 came out on 18 December 2024. Google said its changes were “designed to enhance the app experience, improve battery life, and boost performance while minimizing incompatibilities”. Phones on DP1 got it over the air; it was still a developer-only build.
| Release date | 18 December 2024 |
| Build | BP21.241121.009 |
| Security patch | December 2024 |
| Devices | Pixel 6 and newer, Pixel Fold and Pixel Tablet; 64-bit Android Emulator images |
| How to get it | Flash a system image, or OTA from DP1. Android 15 QPR Beta 2 could flash it without a wipe |
| Platform stability | No; still expected in March 2025 |
What Developer Preview 2 added
- System-triggered profiling.
ProfilingManager.addProfilingTriggers()asks the system to capture a trace on a cold start (onFullyDrawn) or an ANR, cases an app cannot trace itself. - Start component.
ApplicationStartInfo.getStartComponent()says which kind of component started the process. - Job introspection.
JobScheduler.getPendingJobReasons(int)returns every reason a job is waiting, andgetPendingJobReasonsHistory(int)the recent constraint changes. - Adaptive refresh rate.
hasArrSupport()andgetSuggestedFrameRate(int)arrived, andgetSupportedRefreshRates()was restored. - Richer haptics. Apps can define the amplitude and frequency curves of a haptic effect, independent of the device’s actuator.
- Predictive back.
PRIORITY_SYSTEM_NAVIGATION_OBSERVERlets an app see system-handled back gestures, andfinishAndRemoveTaskCallback()andmoveTaskToBackCallback()trigger system animations. - Other. Cloud search APIs for the photo picker; secure Wi-Fi ranging
with 802.11az, with AES-256 encryption and protection against
man-in-the-middle attacks; and an
ACTIVITY_INTENSITYdata type in Health Connect.
What Developer Preview 2 changed
- Job quotas. Regular and expedited job runtime now depends on the standby bucket, and also counts while the app is visible or running a foreground service.
setImportantWhileForeground(). Deprecated since Android 12, it is now ignored, andisImportantWhileForeground()returnsfalse.- Accessibility announcements.
announceForAccessibility()andTYPE_ANNOUNCEMENTevents are deprecated in favour of pane titles, live regions andsetError().
The build also fixed a Terminal app error, “No local assets”, reported on DP1.
Android 16 Beta 1: adaptive apps, Live Updates
23 January 2025. The first beta opened Android Beta and brought the large-screen resizability rule, ProgressStyle for Live Updates, the APV codec and mandatory predictive back.
Read on its own: Android 16 Beta 1: adaptive apps, Live UpdatesBeta 1 came out on 23 January 2025. It was the first Android 16 build for early adopters: Pixel owners could enroll in Android Beta and get it over the air, and phones on DP2 were updated automatically.
| Release date | 23 January 2025 |
| Build | BP22.250103.008 |
| Security patch | January 2025 |
| Devices | Pixel 6 and newer, Pixel Fold and Pixel Tablet; 64-bit Android Emulator |
| How to get it | OTA through Android Beta, or flash a system image |
| Platform stability | No; still expected in March 2025 |
What Beta 1 added
- Adaptive apps. On displays wider than 600dp, apps targeting API 36
have their orientation and resizability restrictions ignored. Games are
exempt, and apps could opt out in 2025; Google said the 2026 release would
remove the opt-out. The
UNIVERSAL_RESIZABLE_BY_DEFAULTcompat flag let developers test it without targeting 36. - Live Updates.
Notification.ProgressStylearrived, with segments, points and custom icons. Google suggested it only for ride-sharing, food delivery and navigation. - Camera and media. The APV codec for professional video, and
EXTENSION_NIGHT_MODE_INDICATOR, which tells an app when to switch to a night mode camera session. - Vertical text.
Paint.VERTICAL_TEXT_FLAGfor libraries that render vertical scripts. - Accessibility.
setSupplementalDescription()for view groups andsetFieldRequired()for required form fields. - Ranging.
RangingManagermeasures distance and angle with Bluetooth channel sounding, Bluetooth RSSI, Ultra-Wideband or Wi-Fi round trip time.
What Beta 1 changed
- ART internals. Code that reaches into ART’s internal structures may break on Android 16, and on earlier versions that get ART updates through Google Play system updates.
- Predictive back. For apps targeting 36,
onBackPressed()is no longer called; apps must migrate or opt out. With 3-button navigation, a long press on back now shows the predictive animation for migrated apps. - Fixed-rate scheduling. For apps targeting 36,
scheduleAtFixedRateruns at most one missed execution when the app returns. - Ordered broadcasts.
android:priorityonly orders receivers within one process.
Android 16 Beta 2: edge-to-edge without escape
13 February 2025. The second beta added pro camera controls and AGSL colour filters, removed the edge-to-edge opt-out and hardened intent redirection for every app.
Read on its own: Android 16 Beta 2: edge-to-edge without escapeBeta 2 came out on 13 February 2025, three weeks after Beta 1. It was the last beta before platform stability, and it carried most of the behaviour changes that later defined targeting API 36.
| Release date | 13 February 2025; Beta 2.1 on 27 February 2025 |
| Build | BP22.250124.009; Beta 2.1 BP22.250124.010 |
| Security patch | February 2025 |
| Devices | Pixel 6 and newer, Pixel Fold and Pixel Tablet; 64-bit Android Emulator |
| Platform stability | No; expected with Beta 3 |
What Beta 2 added
- Camera. Hybrid auto-exposure, precise colour temperature and tint controls, motion photo capture intents, and UltraHDR images in HEIC.
- Graphics. AGSL shaders as colour and blend effects
(
RuntimeColorFilter,RuntimeXfermode). - Performance.
SystemHealthManager.getCpuHeadroom()andgetGpuHeadroom()estimate the CPU and GPU an app or game can still use. - Key sharing.
KeyStoreManagergrants and revokes another app’s access to an Android Keystore key, by UID. - Other. A “Measurement system” setting in regional preferences, a
content API for live wallpapers (
WallpaperDescription,WallpaperInstance), aMediaQualitypackage for TV picture and audio profiles, and accessibility APIs for durations inTtsSpan, expandable elements, indeterminate progress bars and tri-state checkboxes.
What Beta 2 changed
- Edge-to-edge. For apps targeting 36,
windowOptOutEdgeToEdgeEnforcementis deprecated and disabled. - Health permissions. For apps targeting 36,
BODY_SENSORSgives way to the granularandroid.permissions.healthpermissions. - Abandoned jobs. A job whose
JobParametersis garbage collected beforejobFinished()stops withSTOP_REASON_TIMEOUT_ABANDONED. - Intent redirection. Hardened by default for every app, whatever its
target;
removeLaunchSecurityProtection()opts a nested intent out. - Elegant fonts.
elegantTextHeightis deprecated and ignored for apps targeting 36. - 16 KB pages. A 4 KB-aligned app on a 16 KB device runs in a
compatibility mode and the user sees a dialog;
android:pageSizeCompatcontrols it.
Beta 2.1, a bug-fix update, followed on 27 February. It fixed devices that sometimes could not enter Doze and unexpected reboots.
Android 16 Beta 3: platform stability
13 March 2025. Platform stability locked the API surface and app-facing behaviours, and the beta added Auracast broadcast audio, outline text and local network protection testing.
Read on its own: Android 16 Beta 3: platform stabilityBeta 3 came out on 13 March 2025 and reached platform stability: “the API surface is locked, the app-facing behaviors are final”. From that day, apps targeting Android 16 could be published on Google Play.
| Release date | 13 March 2025; Beta 3.1 on 18 March; Beta 3.2 on 2 April 2025 |
| Build | BP22.250221.010; Beta 3.1 BP22.250221.013; Beta 3.2 BP22.250221.015 |
| Security patch | March 2025 |
| Devices | Pixel 6 and newer, Pixel Fold and Pixel Tablet; 64-bit Android Emulator |
| Platform stability | Yes |
Google said there were “only a few new things” this late in the cycle:
- Auracast. Pixel 9 phones on the beta could receive broadcast audio on compatible LE Audio hearing aids, from venues such as airports and classrooms.
- Outline text. It replaced high contrast text, drawing a larger
contrasting area around the text. New
AccessibilityManagerAPIs let UI toolkits and custom text renderers check whether it is on. - Local network protection, opt-in. Google planned to require a
permission for local network access in a future major release. Beta 3 let
developers test it with
adb shell am compat enable RESTRICT_LOCAL_NETWORK <package>; a restricted app sees socket errors such asEPERMorECONNABORTED.
Two bug-fix updates followed. Beta 3.1, on 18 March, fixed a Settings crash when the system language was not English and screen brightness that oscillated. Beta 3.2, on 2 April, fixed miscalibrated haptics and battery drain on idle devices.
Android 16 Beta 4: the last scheduled beta
17 April 2025. The final scheduled beta was the second platform-stable build, reached the Pixel 9a and phones from eight partners, and was followed by Beta 4.1 in May.
Read on its own: Android 16 Beta 4: the last scheduled betaBeta 4 came out on 17 April 2025, “the last scheduled update in our Android 16 beta program”. It was the second release after platform stability, so it brought fixes, not APIs.
| Release date | 17 April 2025; Beta 4.1 on 13 May 2025 |
| Build | BP22.250325.007; Beta 4.1 BP22.250325.012 |
| Security patch | April 2025 |
| Devices | Pixel 6 and newer, Pixel Fold, Pixel Tablet and Pixel 9a; partner phones; 64-bit Android Emulator |
| Platform stability | Yes, since Beta 3 |
The beta reached more hardware. Google listed handsets, tablets and foldables from Honor, iQOO, Lenovo, OnePlus, OPPO, Realme, vivo and Xiaomi, and the Pixel 9a, on sale for only a few days, could enroll too.
The release notes warned that apps using the HiddenApiBypass library, or FlyCore before v2025.0224.1629, could crash, because both rely on internal ART structures that Android 16 changed.
Beta 4.1, a bug-fix update, followed on 13 May. It fixed haptic performance, a microphone indicator stuck on, audio that failed to play from the NDK, and constant battery drain. Android 16 itself shipped on 10 June.