Beta 3
| Release date | August 14, 2026 |
| Builds | CP41.260731.005.A2 CP41.260731.005.B1 |
| Emulator support | x86 (64-bit), ARM (v8-A) |
| Security patch level | 2026-08-05 |
| Google Play services | 26.26.34 |
Beta 2
| Release date | August 3, 2026 |
| Builds | CP41.260717.006 |
| Emulator support | x86 (64-bit), ARM (v8-A) |
| Security patch level | 2026-07-05 |
| Google Play services | 26.24.35 |
Beta 1
| Release date | July 20, 2026 |
| Builds | CP41.260701.005 |
| Emulator support | x86 (64-bit), ARM (v8-A) |
| Security patch level | 2026-07-05 |
| Google Play services | 26.23.34 |
Android 17 QPR 2 Beta 3 (August 2026)
Building on the initial release of Android 17, we continue to update the platform with fixes and improvements that are then rolled out to supported devices. These releases happen on a quarterly cadence through Quarterly Platform Releases (QPRs), which are delivered both to AOSP and to Google Pixel devices as part of Feature Drops.
Although these updates don't include app-impacting API changes, we provide images of the latest QPR beta builds so you can test your app with these builds as needed (for example, if there are upcoming features that might impact the user experience of your app).
Android 17 QPR2 includes a minor SDK release. This incremental update has no planned behavior changes, minimizing the need for compatibility testing. You can the current SDK changes in the API diff report.
Hardening against call forwarding fraud
Android 17 QPR2 Beta 3 introduces new security restrictions on programmatic call forwarding to protect users from fraud. The system now parses and selectively restricts call-forwarding USSD codes (such as *21*) executed via the TelephonyManager.sendUssdRequest() API.
- API Restriction: The
sendUssdRequest()API is no longer accessible for call-forwarding codes using only theCALL_PHONEpermission. Standard apps attempting to execute these codes in the background will be blocked and receive aUSSD_ERROR_NOT_ALLOWEDcallback. - System Confirmation: To combat social engineering scams, users manually dialing call-forwarding codes in the system dialer will now see a new OS-level confirmation dialog before the command is executed.
- Non-Call Forwarding USSD: Non-call forwarding enabling USSD requests (such as mobile money transfers and account checks) are unaffected by this change.
- Mitigation: If your app is affected, verify that it handles the
USSD_ERROR_NOT_ALLOWEDfailure callback gracefully. For apps requiring call-forwarding setup that do not qualify for an exempted role, migrate your flow to use theACTION_DIALintent to pre-fill the dialer, allowing the user to manually confirm the action.
Top Issues fixed in Beta 3 (August 2026)
- Opening the notification shade and Quick Settings menu caused visual corruption and an unexpected device restart. (Issue #535249652, Issue #543124160)
- The Device Health and Support tool erroneously displayed false battery capacity degradation warnings to users. (Issue #535421490, Issue #538943170, Issue #535504630)
Top Issues fixed in Beta 1 (July 2026)
- Bluetooth re-pairing fails silently following a remote bond loss. (Issue #412524057)
- Media player controls briefly flashed on the lock screen upon waking the device despite the app's notifications being disabled. (Issue #484607701)
- A system crash causing Pixel devices to unexpectedly reboot when invoking Gemini. (Issue #505750489)
- Initiating a drag-and-drop gesture with multiple fingers caused the source application to stop receiving subsequent touch events. (Issue #516836306)
- Notifications randomly became invisible in the notification shade until a system restart. (Issue #526139207, Issue #522657034)
- ML-DSA key generation fails with an exception when using the "NONE" string digest instead of the class constant. (Issue #525612735)
- An issue in AccessibilityNodeInfo.toString() where window bounds were incorrectly logged using screen bounds, which caused misleading accessibility debugging data. (Issue #520428442)
- Window-level UI blur effects failed to render and the "Allow window-level blurs" developer toggle reset after rebooting. (Issue #527376569)