Android 14 Developer Preview 2 for the Pixel 6 Pro [Raven]
Download links in the center of the OP.
Welcome to the Android 14 Developer Preview! This first release is for developers only, to help with early development, testing, and feedback. Android 14 Developer Preview 1 is an early baseline build that's still in active development, so the Android system and apps running on it might not always work as expected.

March 8, 2023:
Pixel 6 Pro | raven_beta-upp2.230217.004-factory-638d3074.zip | 638d307409bf4ee2dfcb4683f6fdf5b31b985c8b9c3d109cefe18b309bc06e5e |
64-bit-only images
Pixel 6 Pro | raven_beta_64-upp2.230217.004-factory-66f2cea1.zip | 66f2cea147c071c52e8fe03a5555c2fdb85892de83ea4e3817383b91a65822d0 |
Developer Preview 2
Release date March 8, 2023 Build UPP2.230217.004 Emulator support x86 (64-bit), ARM (v8-A) Security patch level March 2023 Google Play services 23.06.13 API diff

Release notes | Android Developers
Release notes and known issues for the latest Android 14 builds.


Factory images for Google Pixel | Android Developers
Instructions for downloading and installing preview system images for Pixel devices.


Get Android 14 | Android Developers
Get an Android 14 on your eligible device.


Android 14 Preview | Android Developers
How the Android 14 Preview works, the timeline, and what is included.


Android 14 Developer Preview 2
Today, we're releasing the second Developer Preview of Android 14, with additional enhancements to privacy, security, performance, and more.
February 8, 2023:
developer.android.com
developer.android.com
developer.android.com
android-developers.googleblog.com
Note to anyone who flashes a Developer Preview or Beta OTA without having the capability to unlock your bootloader - you'll be stuck in the Developer Preview and Beta program until it goes final - in the case of Android 14, somewhere between August and October 2023. There is absolutely nothing that can be done about this without being able to unlock the bootloader. And even with an unlocked bootloader, you'll have to perform a complete wipe when going back to Stable.
developer.android.com
or
Flash your device using Android Flash Tool
Android Flash Tool lets you securely flash an Android 14 Beta system image to your supported Pixel device. Android Flash Tool works with any Web browser that supports WebUSB, such as Chrome or Edge 79+.
Android Flash Tool guides you step-by-step through the process of flashing your device—there's no need to have tools installed—but you will need to unlock your device and enable USB Debugging in Developer options. For complete instructions, see the Android Flash Tool documentation.
Connect your device over USB, then, depending on the type of system image you want to flash, navigate to Android Flash Tool using one of the following links and follow the onscreen guidance:

Android 14 Preview | Android Developers
How the Android 14 Preview works, the timeline, and what is included.

Android 14 Preview
bookmark_border
Welcome to the Android 14 Preview, a program that gives you everything you need to make your apps compatible with and build for the next version of Android. The program is free, and you can get started right away by downloading the Preview SDK and tools.
Hardware and emulator system images
A runtime environment to test your apps on Pixel devices and the Android Emulator.
Latest platform code
We’ll provide regular updates, so you’ll be testing against the latest platform code.
New behaviors and capabilities
Pinpoint the behavior changes that will affect your apps, and build with the latest platform capabilities.
Feedback and support
Your feedback is critical! Start here to report issues and let us know what you think! Connect with other developers in the Developer Community to share your experiences.
Timeline, milestones, and updates
![]()
The Android 14 Preview program runs from February 2023 until the final public release to AOSP and OEMs, planned for later in the year. At key development milestones, we'll deliver updates for your development and testing environments. Each update includes SDK tools, system images, emulators, API reference, and API diffs. See the following table to learn more about what you should focus on during each milestone.
Timeline Build Type Developer actions February Developer Preview 1 Early baseline build focused on developer feedback, with new features, APIs, and behavior changes. Priority window to give feedback on APIs.
- Explore new APIs and behavior changes and report any critical issues or requests to us during this time.
- Begin early app compatibility testing.
March Developer Preview 2 Incremental update with additional features, APIs, and behavior changes. Priority window to give feedback on APIs.
- Continue to send feedback on behavior changes and APIs.
- Get apps ready for consumer Beta.
- Continue compatibility testing and publish app updates to testing tracks without changing targeting.
April Beta 1 Initial beta-quality release, over-the-air update to early adopters who enroll in Android Beta.
- Continue compatibility testing and watch for feedback from Android Beta users.
- Start early testing with targeting Android 14.
- Notify SDK and library developers of any compatibility issues.
May Beta 2 Incremental Beta-quality release
- Continue compatibility testing, watch for feedback from Android Beta users.
- Continue early testing with targeting Android 14.
- Continue notifying SDK and library developers of any compatibility issues.
Platform Stability June Beta 3 First Platform Stability milestone including final APIs and behaviors. Play publishing also opens.
- Start final compatibility testing for apps, SDKs, and libraries.
- Release compatible app versions.
- Continue work to target Android 14.
- Update SDKs and libraries and notify their developers of any compatibility issues.
July Beta 4, 5, ... Near-final builds for final testing.
- Release compatible versions of apps, SDKs, and libraries.
- Continue work to target Android 14.
- Build with new features and APIs.
![]()
Final release Android 14 release to AOSP and ecosystem.
- Release compatible versions for apps, SDKs, and libraries.
- Continue work to target Android 14.
- Build with new features and APIs.
Platform Stability milestone
Android 14 includes a milestone called Platform Stability to help you plan your final testing and releases. This milestone means that Android 14 has reached final internal and external APIs, final app-facing behaviors, and final non-SDK API lists. We expect Android 14 to reach Platform Stability at Beta 3 in June 2023. From that point, you can expect no further changes affecting your apps.
We encourage all app, game, SDK, library, and game engine developers to use the Platform Stability milestone as a target for planning final compatibility testing and public release. Using Platform Stability instead of final release gives you several additional weeks before consumers can receive the new platform on their devices.
Important: For SDKs and library developers: targeting Platform Stability for final testing is critical. Downstream app and game developers might be blocked until their bundled SDKs and libraries are updated to support Android 14.
Preview phases
Each phase of the preview program helps you prepare your apps for the stable release of AOSP and the Android ecosystem.
Developer Previews 1 and 2
During the Developer Previews, you should focus on API feedback and app compatibility. App compatibility means making sure the current version of your app looks right and runs well on the new platform.
The Developer Preview builds provide an early test and development environment you can use to try new APIs, identify compatibility issues in your app, and plan migration or feature work needed to target the new platform. It's especially important to give us your feedback during this time. You should also expect some API changes with each of these updates. Review the migration guide for steps to make your app compatible with the new platform, and then target the new platform when you're ready.
Beta 1
Beta 1 gives you a more complete and stable environment for building and testing on Android 14, and it's the first build that we deliver to early adopters who are enrolled in the Android Beta program. During the Beta releases period, early adopters will be using your app on Pixel devices, so we recommend watching for feedback from those users and releasing compatible updates to address any issues, without changing the app's targeting. It's also a good time to begin preparing for changing your app's targeting later.
Beta 2
With Beta 2, you'll get a more complete and stable build for continuing your testing and development.
Beta 3
Starting with Beta 3, Android 14 will reach Platform Stability, meaning that system behaviors and APIs are finalized. This is the time to begin final testing and development work needed to ensure that a compatible version of your app will be ready for users at the final release to the ecosystem. Android 14 will provide a standard API level at this time.
Platform Stability is the time to shift focus to final compatibility testing and release your updated apps to users and downstream developers. You can also build with the final APIs and refine any code that is using the new APIs or features. You can plan your work with confidence that the platform and APIs won't change.
From Platform Stability, you'll also be able to publish apps to devices running Android 14 at the official API level. After Platform Stability, we recommend publishing into the Google Play alpha and beta tracks first so that you can test your apps before distributing broadly through the store.
Important: All SDK, library, tools, and game engine developersshould start testing at Platform Stability and release your compatible updates as soon as possible. Your downstream app and game developers may be blocked until they receive your updates. When you’ve released a compatible update, be vocal and let your developers know!Beta 4, 5, ...
With Beta 4, 5, and other final beta releases, we'll offer release candidate builds for your final testing. When you've finished testing, you should release compatible updates for your apps, SDKs, libraries, tools, and game engines to ensure that users who upgrade their devices around the final release have a good user experience. You can also continue to build new functionality using new features and APIs and test your app while targeting the latest API level to discover issues that might arise.
Final release
The stable version of Android 14 is released to AOSP and the greater Android ecosystem. You should expect that some of your users will update to Android 14 at this time or shortly thereafter as device manufacturers start to release updates for their users. Be prepared for new issues that might be reported as the number of users on the latest version of Android increases.
What's included in the Android 14 Preview?
The Android 14 Preview program includes everything you need to test your existing apps on a variety of screen sizes, network technologies, CPU/GPU chipsets, and hardware architectures.
SDK & NDK tools
Using Android Studio, you can download the following components through the SDK Manager:
We'll provide updates to these development tools at each milestone as needed.
- SDK, NDK, and tools for Android 14
- Emulator system images for mobile devices for Android 14 (64-bit only, see release notes)
See Get Android 14 to get started. See the migration guide for information on how to plan testing and development to align with the Android 14 release cycle, as well as the release notes for any known issues.
System images
We provide system images for a variety of Google Pixel devices that you can use for developing and testing. Visit the Downloads page to get a system image for development and testing.
If you don't have a Pixel device, you can still develop and test using other methods, depending on your workflow:
- Android 14 emulator system images for mobile devices (64-bit only, see release notes)
Flash-to-OTA updates for Google Pixel
The Developer Preview releases are early baseline builds for developers only. They are not suitable for daily use by early adopters or consumers, so we're making them available by manual download and flash only on the following Pixel devices:
For more inforamtion, see Get Android 14.
- Pixel 4a (5G)
- Pixel 5 and 5a
- Pixel 6 and 6 Pro
- Pixel 6a
- Pixel 7 and 7 Pro
Once you've flashed a Developer Preview build to a supported Pixel device, you'll automatically be enrolled in over-the-air updates of later Developer Preview and Beta builds through the final release.
Note that the Android Beta OTA program is not supported for Developer Preview builds.
Preview APIs and publishing
The Android 14 Preview program initially provides a development-only system and Android library that does not have a standard API level. If you want to target the new platform and build with the new Android 14 APIs during this time, you must target the Preview version of Android 14 by updating your app's build configuration.
The Android 14 Preview delivers preview APIs—the APIs will not be official until the final SDK is released at Platform Stability. This means that you should expect API changes over time, especially during the initial weeks of the program. We'll provide a summary of changes with each release of Android 14.
Later in the preview, developer APIs will be finalized and you'll be able to download the official Android 14 SDK into Android Studio, target the official API level, and compile against the official APIs.
Until the Platform Stability milestone, Google Play prevents publishing of apps that target either the UpsideDownCake preview API level or the future official API level. When the final SDK is available, you can then target the official Android 14 API level and publish your app to Google Play using the alpha, beta, and production release channels. Meanwhile, if you want to distribute an app to testers that targets Android 14, you can do so through email or by direct download from your site at any time.
Keep up-to-date
Throughout the preview, as you test on Developer Preview and Beta releases, we strongly recommend keeping your development environment up-to-date. We'll notify you when new updates are available via the following channels:
- The release notes page on this site
- Android Developers Blog
- Android Developer Community
More information
To learn more about Android 14, see the following documentation resources:
- The feature and changes list page provides a summary of all the notable features and behavior changes in this release, including a short description of the apps that they might affect.
- The behavior changes for all apps page describes the updates in Android 14 that might affect your apps regardless of your app's targetSdkVersion and the areas where you should test. Focus on testing for these behavior changes first.
- The targeted behavior changes page describes the updates in Android 14 that might affect your apps after you switch your app's targetSdkVersion to target Android 14.
- The new features page contains an overview of new features, capabilities, and APIs, with developer guides on key new features.
- The release notes page lists and describes known issues and transitive changes that are specific to each preview or beta release.
- The migration guide outlines the process for making your apps compatible with Android 14, then targeting the new platform and building with new APIs.
API Reference and diff report
The full Preview API reference is available online. While the new APIs are under development, they'll be watermarked for visibility and show "UpsideDownCake" as the API level. Note that you can only use these APIs if you are building with the Android 14 Preview SDK.
When Android 14 reaches Platform Stability and the final SDK is available, the API reference will show that the new APIs were added in the official API level.
Note: To display Android 14 APIs, be sure to set the API Level selector to 'Upside Down Cake'in the navigation on the left-hand side of any reference page.
For a detailed view of new, modified, deprecated, and removed APIs in each release, we recommend starting with the diff reports:
DP1
Changes in the diff reports contain links to related API reference documentation.
Support resources
As you test and develop with Android 14, please use these channels to report issues and give feedback:
- Visit the Feedback and issues page for complete information on how to report issues and let us know what you think. From the page, you can go to the issue tracker to file bugs or feature requests, and you can take quick surveys on some of the new features and changes.
- Android Preview issue tracker is our primary issue tracker. You can report bugs, performance issues, and general feedback through the issue tracker. You can also check for known issues and find workaround steps. We'll keep you updated on your issue as it's triaged and sent to the Android engineering team for review. For details on how to report various kinds of issues, see the Where to report issues section.
- The Android Developer Community is a community where you can connect with other users and developers who are working with the Android 14 preview builds. You can share observations and ideas and find answers to questions there.
Get started!
To get started, install Android 14 on your hardware device, or set up an emulator for compatibility testing. See Get Android 14 for details. Thank you for participating in the Android 14 Preview program!

Get Android 14 | Android Developers
Get an Android 14 on your eligible device.

Get Android 14
bookmark_border
You can get Android 14 in any of the following ways:
Get Android 14 Developer Preview on a Google Pixel device
Android 14 Developer Preview images are available for the following Pixel devices:
- Pixel 4a (5G)
- Pixel 5 and 5a
- Pixel 6 and 6 Pro
- Pixel 6a
- Pixel 7 and 7 Pro
Flash or manually install a system image
To flash your device, we recommend using the Android Flash Tool.
If you need to flash your device manually for some other reason, you can get an Android 14 system image for your device on the Pixel downloads page. See the general instructions on the downloads page for how to flash a system image to your device. This approach can be useful when you need more control over testing, such as for automated testing or regression testing.
Note:After you've flashed a Developer Preview or Beta build to a supported Pixel device, you're automatically enrolled in over-the-air updates of all subsequent Developer Preview and Beta builds through the final release.
Set up the Android Emulator
Configuring the Android Emulator to run Android 14 is a great solution for exploring new features and APIs and testing Android 14 behavior changes. Setting up the emulator is fast and convenient and allows you to emulate various screen sizes and device characteristics.
Depending on the type of testing you need to do, consider setting up a variety of virtual devices from these device categories:
Set up a virtual device (phone)
To set up a virtual device to emulate a typical phone, follow these steps:
- Install the latest Preview build of Android Studio.
- In Android Studio, click Tools > SDK Manager.
- In the SDK Tools tab, select the latest version of Android Emulator, and click OK. This action installs the latest version if it isn't already installed.
- In Android Studio, click Tools > AVD Manager, and follow the instructions to create a new Android Virtual Device (AVD).
Be sure to select a device definition for a supported Pixel device and a 64-bit Android 14 emulator system image. If you don't already have an Android 14 system image installed that matches your device definition, click Download next to the Release Name to get it.- Return to the list of virtual devices in the AVD Manager, and then double-click your Android 14 virtual device to launch it.
Set up a virtual device (tablet or large-screen)
To set up a virtual device to emulate a tablet or other large-screen device, follow these steps:
Repeat these steps to create large screen device definitions that you can use to test your app in a variety of large screen scenarios.
- Install the latest Preview build of Android Studio.
- In Android Studio, click Tools > SDK Manager.
- In the SDK Tools tab, select the latest version of Android Emulator, and click OK. This action installs the latest version if it isn't already installed.
- In Android Studio, click Tools > Device Manager, then click Create device in the Device Manager panel.
![]()
- Select a device definition with a large screen, such as the Pixel C in the Tablet category or the 7.6" Fold-in with outer display in the Phone category, then click Next.
- Find the Android 14 system image, called Android API Upside Down Cake, and click Download to get it. After the download completes, select this system image and click Next.
- Finalize other settings for your virtual device, then click Finish.
- After returning to the list of virtual devices in the Device Manager, find your Android 14 virtual device and click Launch
to start it.![]()
Resizable emulator
In addition to large screen virtual devices that you can configure for Android 14, you can try the new resizable device configuration that's included in Android Studio Chipmunk | 2021.2.1 or higher. When you're using a resizable device definition with a Android 14 system image, the Android Emulator lets you quickly toggle between the four reference devices: phone, foldable, tablet, and desktop. When using the foldable reference device, you can also toggle between folded and unfolded states.
This flexibility makes it easier to both validate your layout at design time and test the behavior at runtime, using the same reference devices. To create a new resizable emulator, use the Device Manager in Android Studio to create a new virtual device and select the Resizable device definition in the Phone category.
Use the new resizable device definition for the Android Emulator to test Android 14 in a variety of large screen scenarios.
More information
To learn about which changes might affect you, and to learn how to test these changes in your app, read the following topics:
To learn more about new APIs and features available in Android 14, read Android 14 features.

Release notes | Android Developers
Release notes and known issues for the latest Android 14 builds.

Release notes
bookmark_border
Developer Preview 1
Release date February 8, 2023 Build UPP1.230113.009 Emulator support x86 (64-bit), ARM (v8-A) Security patch level February 2023 Google Play services 23.03.13 API diff API 33 → U DP1 About Android 14 Developer Preview 1
Welcome to the Android 14 Developer Preview! This first release is for developers only, to help with early development, testing, and feedback. Android 14 Developer Preview 1 is an early baseline build that's still in active development, so the Android system and apps running on it might not always work as expected.
As with previous versions, Android 14 includes behavior changes to help improve performance, battery life, security, and privacy. In some cases, these changes can affect apps until they are updated to support Android 14, so you might see impacts ranging from minor issues to more significant limitations. In general, most apps will work as expected, as will most APIs and features, but please review any known issues listed on this page to get a better idea of what to expect.
How to get Developer Preview 1
You can install this release on any of the following Google Pixel devices:
See Get Android 14 for details on how to get started.
- Pixel 4a (5G)
- Pixel 5 and 5a
- Pixel 6 and 6 Pro
- Pixel 6a
- Pixel 7 and 7 Pro
Remember to update your SDK and the Android Emulator as well before you try out the latest features and changes. The best way to do this is using the SDK Manager in the latest preview version of Android Studio.
Depending on your development and testing needs, you can also get Android 14 in the following ways:
- Get Android 14 on the Android Emulator
General advisories
Be aware of these general advisories about the release:
- This release might have various stability, battery, or performance issues.
- For users with accessibility needs, this release might not be appropriate for daily use.
- Some apps might not function as expected when running on this release. This limitation includes Google's apps as well as other apps.
- Android 14 Developer Preview builds aren't Compatibility Test Suite (CTS)‑approved, but they have passed preliminary testing and provide a stable set of pre-release APIs for developers. Apps that depend on CTS-approved builds or use SafetyNet APIs might not work normally on Android 14 Developer Preview builds.
Get support
Two primary support channels are available to you when developing and testing with Developer Preview. The channel you should use to get support depends on where you are encountering your issue.
To discuss issues or ideas with other developers working with the Android 14 Developer Preview, join the android_beta community on Reddit.
- Support for device-specific issues, system issues, and issues with Google apps: Use the Issue Tracker to create new issues and to view and track issues that you and other developers have submitted.
Before creating your own issue, check the known issues listed on this page and search the lists of top open issues and recently created issues to see if someone else has already reported it. You can subscribe and vote for an issue by clicking star this issue .
See Where to report issues to find an issue template that best matches the type of issue that you are encountering.- Support for issues with other apps: Contact the app developer directly.
Known issues
Based on our testing, you might encounter the following issues when using Android 14 Developer Preview 1. These issues are already known, so there's no need to file additional reports for similar issues.
Android Studio and tools
- An issue with Android Studio causes a SecurityException to be thrown when attempting to run your app or apply incremental changes any time other than the first time. To work around this issue, fully uninstall your app and then reinstall it on the test device before running your app again. A fix for this issue in included in the upcoming Android Studio Giraffe | 2022.3.1 Canary 4 release.

Android Developers Blog
News and insights on the Android platform, developer tools, and events.
The first developer preview of Android 14
08 February 2023
Posted by Dave Burke, VP of Engineering
Making Android work well for each and every one of the billions of Android users is a collaborative process between us, Android hardware manufacturers, and you, our developer community.
![]()
Today we're releasing the first Developer Preview of Android 14, and your feedback in these previews is a critical part of making Android better for everyone. Android 14 continues our work to improve your productivity as developers, along with enhancements to performance, privacy, security, and user customization. This preview is just the beginning, and we’ll have lots more to share as we move through the release cycle.
Android continues to deliver enhancements and new features year-round, and your Android 14 developer preview and Quarterly Platform Release (QPR) beta program feedback plays a key role in helping Android continuously improve. The Android 14 developer site has lots more information about the preview, including downloads for Pixel and the release timeline. We’re looking forward to hearing what you think, and thank you in advance for your continued help in making Android a platform that works for everyone.
Working across devices and form factors
Android 14 builds on the work done in Android 12L and 13 to support tablets and foldable form factors. To help you build apps that adapt to different screen sizes, we've created window size classes, sliding pane layout, Activity embedding, and box with constraints and more, all supported in Jetpack Compose. With every release, our goal is to make it easier for you to optimize your app across all Android surfaces.
To help streamline getting your apps ready we have updated our app quality guidance for large screens, and provided additional learning opportunities around building for large screens and foldables. The large screen gallery contains proven design patterns along with design inspiration around the markets that your app supports such as social and communications, media, productivity, shopping, and reading apps.
Multi-device experiences are a big part of the future of Android. You can get started today with the Cross device SDK preview, allowing you to build rich experiences that intuitively work across different devices and form factors, and there's more to come.
Streamlining background work
Android 14 continues our effort to optimize the way apps work together, improve system health and battery life, and polish the end-user experience.
Updates and additions to JobScheduler and Foreground Services
It's more complicated than necessary to perform some background work, such as downloading large files when WiFi is available. We're creating a standard path for this work to simplify your app development and potentially improve the user experience. We're also being more opinionated about how foreground services should be used, reserving them for only the highest priority user-facing tasks so that Android can improve resource consumption and battery life.
In Android 14, we are making changes to existing Android APIs (Foreground Services and JobScheduler) including adding new functionality for user-initiated data transfers, along with an updated requirement to declare foreground service types. The user-initiated data transfer job will make managing user initiated downloads and uploads easier, particularly when they require constraints such as downloading on Wi-Fi only. The requirement to declare foreground service types allows you to clearly define the intent of the background work of your app while making it clear which use-cases are appropriate for foreground services. In addition, Google Play will be rolling out new policies to ensure the appropriate use of these APIs, with more details coming soon.
Optimized broadcasts
We’ve made several optimizations to the internal broadcast system to improve battery life and responsiveness. While most of the optimizations are internal to Android and should not impact your apps, we have adjusted how apps receive context-registered broadcasts once the app goes into a cached state. Broadcasts to context-registered receivers may be queued and only delivered to the app once it comes out of the cached state. Furthermore, some repeating context-registered broadcasts, such as BATTERY_CHANGED, may be merged into one final broadcast before it is delivered once the app comes out of the cached state.
Exact alarms
The invocation of exact alarms can significantly affect the device's resources, such as battery life. So in Android 14, newly installed apps targeting Android 13+ (SDK 33+) that are not clocks or calendars must request the user to grant them the SCHEDULE_EXACT_ALARM special permission before setting exact alarms. Apps can direct users to the settings page via an intent to toggle this permission, but we encourage you to evaluate your use cases and choose more flexibly scheduled alternatives when possible.
Clock and calendar apps targeting Android 13+ (SDK 33+) that rely on exact alarms as part of their core app workflow will be able to declare the USE_EXACT_ALARM normal permission instead (granted on install). Apps will not be able to publish a version of their app to the Play store with this permission in the manifest unless they qualify based on the policy language.
Customization
We're continuing to make sure that Android users can tune their experience around their individual needs, including enhanced accessibility and internationalization features.
Bigger fonts with non-linear scaling
Starting in Android 14, users will be able to scale up their font to 200%. Previously, the maximum font size scale on Pixel devices was 130%.
To mitigate issues where text gets too large, starting in Android 14, a non-linear font scaling curve is automatically applied. This ensures that text that is already large enough doesn’t increase at the same rate as smaller text.
In Android 14, you should test your app UI with the maximum font size using the Font size option within the Accessibility > Display size and text settings. Ensure that the adjusted large text size setting is reflected in the UI, and that it doesn’t cause text to be cut off. Our documentation has more on best practices.![]()
Per-app language preferences
You can dynamically update your app's localeConfig with LocaleManager.setOverrideLocaleConfig to customize the set of languages displayed in the per-app language list in Android Settings. This allows you to customize the language list per region, run A/B experiments, and provide updated locales if your app utilizes server-side localization pushes.
IMEs can now use LocaleManager.getApplicationLocales to know the UI language of the current app to update the keyboard language.
Grammatical Inflection API
The Grammatical Infection API allows you to more easily add support for users who speak languages which have grammatical gender. For example,
Masculine: “Vous êtes abonné à...”
Feminine: “Vous êtes abonnée à…”
Neutral: “Abonnement à…activé”
Grammatical gender is inherent to the language and cannot be easily worked around in some non-English languages. This new API lowers the effort to support viewer gender (who’s viewing the UI; not who’s being talked about) as compared to using the SelectFormat in ICU which must be applied on a per string basis.
To show personalized translations, you just need to add translations inflected for each grammatical gender for impacted languages and integrate the API.
Privacy and Security
Runtime receivers
Apps targeting Android 14 must indicate if dynamic Context.registerReceiver() usage should be treated as "exported" or "unexported", a continuation of the manifest-level work from previous releases. Learn more here.
Safer implicit intents
To prevent malicious apps from intercepting intents, apps targeting Android 14 are restricted from sending intents internally that don't specify a package. Learn more here.
Safer dynamic code loading
Dynamic code loading (DCL) introduces outlets for malware and exploits, since dynamically downloaded executables can be unexpectedly manipulated, causing code injection. Apps targeting Android 14 require dynamically loaded files to be marked as read-only. Learn more here.
Block installation of apps
Malware often targets older API levels to bypass security and privacy protections that have been introduced in newer Android versions. To protect against this, starting with Android 14, apps with a targetSdkVersion lower than 23 cannot be installed. This specific version was chosen because some malware apps use a targetSdkVersion of 22 to avoid being subjected to the runtime permission model introduced in 2015 by Android 6.0 (API level 23).
On devices that upgrade to Android 14, any apps with a targetSdkVersion lower than 23 will remain installed.
You can test apps targeting an older API level using the following ADB command:
adb install --bypass-low-target-sdk-block FILENAME.apk
Credential Manager and Passkeys support
We recently announced the alpha release of Credential Manager, a new Jetpack API that allows you to simplify your users' authentication journey, while also increasing security with support of passkeys. Passkeys are a significantly safer replacement for passwords and other phishable authentication factors and more convenient for users (they require just a biometric swipe to securely sign in on any device). Read more here.
App compatibility
We’re working to make updates faster and smoother with each platform release by prioritizing app compatibility. In Android 14 we’ve made most app-facing changes opt-in to give you more time to make any necessary app changes, and we’ve updated our tools and processes to help you get ready sooner.
OpenJDK 17 Support - This preview includes access to 300 OpenJDK 17 classes. We are working hard to fully enable Java 17 language features in upcoming developer previews. These include record classes, multi-line strings and pattern matching instanceof. Thanks to Google Play system updates (Project Mainline), over 600M devices are enabled to receive the latest Android Runtime (ART) updates that include these changes. This is part of our commitment to give apps a more consistent, secure environment across devices, and to deliver new features and capabilities to users independent of platform releases.
Easier testing and debugging of changes - To make it easier for you to test the opt-in changes that can affect your app, we’ll make many of them toggleable again this year. With the toggles, you can force-enable or disable the changes individually from Developer options or adb. Check out the details here.
![]()
App compatibility toggles in Developer Options
Platform stability milestone - Like last year, we’re letting you know our Platform Stability milestone well in advance, to give you more time to plan for app compatibility work. At this milestone we’ll deliver final SDK/NDK APIs and also final internal APIs and app-facing system behaviors. We’re expecting to reach Platform Stability in June 2023, and from that time you’ll have several weeks before the official release to do your final testing. The release timeline details are here.
![]()
Get started with Android 14
The Developer Preview has everything you need to try the Android 14 features, test your apps, and give us feedback. For testing your app with tablets and foldables, the easiest way to get started is using the Android Emulator in a tablet or foldable configuration in the latest preview of the Android Studio SDK Manager. For phones, you can get started today by flashing a system image onto a Pixel 7 Pro, Pixel 7, Pixel 6a, Pixel 6 Pro, Pixel 6, Pixel 5a 5G, Pixel 5, or Pixel 4a (5G) device. If you don’t have a Pixel device, you can use the 64-bit system images with the Android Emulator in Android Studio.
For the best development experience with Android 14, we recommend that you use the latest preview of Android Studio Giraffe (or more recent Giraffe+ versions). Once you’re set up, here are some of the things you should do:
We’ll update the preview system images and SDK regularly throughout the Android 14 release cycle. This initial preview release is for developers only and not intended for daily or consumer use, so we're making it available by manual download only. Once you’ve manually installed a preview build, you’ll automatically get future updates over-the-air for all later previews and Betas. Read more here.
- Try the new features and APIs - your feedback is critical during the early part of the developer preview. Report issues in our tracker on the feedback page.
- Test your current app for compatibility - learn whether your app is affected by default behavior changes in Android 14; install your app onto a device or emulator running Android 14 and extensively test it.
- Test your app with opt-in changes - Android 14 has opt-in behavior changes that only affect your app when it’s targeting the new platform. It’s important to understand and assess these changes early. To make it easier to test, you can toggle the changes on and off individually.
If you intend to move from the Android 13 QPR Beta program to the Android 14 Developer Preview program and don't want to have to wipe your device, we recommend that you move to Developer Preview 1 now. Otherwise you may run into time periods where the Android 13 Beta will have a more recent build date which will prevent you from going directly to the Android 14 Developer Preview without doing a data wipe.
As we reach our Beta releases, we'll be inviting consumers to try Android 14 as well, and we'll open up enrollment for the Android Beta program at that time. For now, please note that the Android Beta program is not yet available for Android 14.
For complete information, visit the Android 14 developer site.
Java and OpenJDK are trademarks or registered trademarks of Oracle and/or its affiliates.
![]()
![]()
![]()
Labels: 'featured'+'platform_update' , "featured'+'androidstudio' , Android , Android 14 , android14 , Developer Preview , Featured , latest , Media , Privacy
Improving user privacy by requiring opt-in to send X-Requested-With header from WebView
08 February 2023
Posted by Peter Birk Pakkenberg, Software Engineer
X-Requested-With (XRW) is a nonstandard header.
When a user installs and runs an application that uses a WebView to embed web content, the WebView will add the X-Requested-With header on every request sent to servers, with a value of the application APK name. It is then left to the receiving web server to determine if and how to use this information.
We want to protect the user's privacy by only sending this header on requests if the app developer explicitly opts-in to share with services embedded within the WebView. We are introducing new and purpose-built methods of client attestation that solve important safety use cases in a privacy-sensitive manner.
To let current online services that depend on this header migrate away from using it, we will run a Deprecation Origin Trial, while removing the header for general traffic.
Why are we making this change?
In early use cases, the X-Requested-With header was used to detect click fraud from malicious apps. It was also used to let a server know it's interacting with AJAX requests and needn't reply with HTML. The header was quickly adopted by common frameworks (jQuery, Dojo, Django) as a defense against CSRF attacks. However, several vulnerabilities (such as browser extensions impersonating websites) appeared around its use.
Android WebView adopted the X-Requested-Header with the application name as the value, as a way to allow online services to detect deceptive apps that were using hidden webviews to generate fake traffic. While this problem still exists today, the header as it is currently implemented does not fully solve the problem, as apps can easily change the value being sent on some requests in later Android versions.
The header, as currently implemented by default in Android WebView, does not follow the principle of meaningful consent of all parties exchanging the information and the Android Platform Security Model’s definition of multi-party consent.
APK name also contains specific information about the context in which the user is consuming the web content, and can leak the identity of the app to the online service.
How does this proposal affect the header?
It's important to note that the non-WebView use cases will not change because of this proposal, as clients and servers still can and will set the header in normal JavaScript environments.
Even today, WebView will not overwrite the header if the header has already been set on an AJAX request by a JavaScript framework.
This removal only targets the WebView use case, which adds the header to every HTTP request made by the browser (that is, not the XMLHttpRequest use case).
What is the impact of removing this feature?
Today content owners may decide to rely on X-Requested-With to attribute traffic and control access without employing their own authentication. Other services use it for reporting of aggregate patterns about their user base.
All of these use cases will be affected by the removal of the header on requests, and in the majority of cases where the header is not modified by dishonest apps, it provides useful information to online services.
Given this, we plan to limit disruption during the deprecation and transition to purpose-built replacement signals by offering a Deprecation Origin Trial to maintain the existing behavior.
We ask for feedback on existing use cases that currently rely on and may be impacted by these changes.
Next steps and the future of XRW
As we gradually roll out the removal, origins participating in the trial will be exempted (that is, WebView will continue to send the header to these origins for as long as the trial lasts). The deprecation trial is expected to remain active for at least a year to give partners time to adjust for the change.
Further, during the deprecation origin trial, we will be developing new privacy-preserving APIs to match the use cases where the XRW header is being used today, such as client attestation APIs.
Separately from the deprecation trial, we will provide an opt-in API for application developers. This API will allow individual apps to selectively send the header to chosen origins, which can be used to maintain functionality of legacy sites that are not migrating, and the API will remain after the deprecation trial has finished.
Helpful resources
Key areas where we are seeking feedback
- Sign up for the X-Requested-With in WebView Deprecation origin trial to continue receiving XRW header on webview. Changes to the header are expected to begin in WebView beta 111.
- Provide feedback on impacted use cases and needs for replacement signals using the Chromium Bug Tracker.
- The status of the roll-out of the header page can be seen on the Chrome Feature Status Page.
- Key use cases for the XRW header today (e.g., payment authentication, account takeover fraud)
- How important the XRW header is for each of these use cases
- Desired capabilities that any new privacy-preserving alternatives would ideally have
![]()
![]()
![]()
Labels: Develop , Privacy , Web , WebView
Known issues
Based on our testing, you might encounter the following issues when using Android 14 Developer Preview 1. These issues are already known, so there's no need to file additional reports for similar issues.Android Studio and tools
- An issue with Android Studio causes a SecurityException to be thrown when attempting to run your app or apply incremental changes any time other than the first time. To work around this issue, fully uninstall your app and then reinstall it on the test device before running your app again. A fix for this issue in included in the upcoming Android Studio Giraffe | 2022.3.1 Canary 4 release.


Factory images for Google Pixel | Android Developers
Instructions for downloading and installing preview system images for Pixel devices.

Pixel 6 Pro | raven_beta-upp1.230113.009-factory-b919fc8a.zip | b919fc8ae421ec7ce8587f614be5596d442c80f7ca22a347c11af4d5c6857099 |
64-bit-only images
These images provide a strict 64-bit-only environment for testing 64-bit app compatibility. These 64-bit-only configurations are for developer use only.Pixel 6 Pro | raven_beta_64-upp1.230113.009-factory-bef33e5d.zip | bef33e5d32f89413ea586770fddbfe70e7d1ea818eaa317f943d74204c87473c |
or
Flash your device using Android Flash Tool
Android Flash Tool lets you securely flash an Android 14 Beta system image to your supported Pixel device. Android Flash Tool works with any Web browser that supports WebUSB, such as Chrome or Edge 79+.
Android Flash Tool guides you step-by-step through the process of flashing your device—there's no need to have tools installed—but you will need to unlock your device and enable USB Debugging in Developer options. For complete instructions, see the Android Flash Tool documentation.
Connect your device over USB, then, depending on the type of system image you want to flash, navigate to Android Flash Tool using one of the following links and follow the onscreen guidance:
- Normal system images: Use https://flash.android.com/preview/udc-dp1.
- 64-bit-only system images: Select the device you are trying to flash:
Last edited: