Posted by Dave Burke, VP of Engineering
Making Android work effectively for each one of many billions of Android customers is a collaborative course of between us, Android {hardware} producers, and also you, our developer neighborhood.
As we speak we’re releasing the primary Developer Preview of Android 14, and your suggestions in these previews is a essential a part of making Android higher for everybody. Android 14 continues our work to enhance your productiveness as builders, together with enhancements to efficiency, privateness, safety, and consumer customization. This preview is just the start, and we’ll have heaps extra to share as we transfer by the discharge cycle.
Android continues to ship enhancements and new options year-round, and your Android 14 developer preview and Quarterly Platform Launch (QPR) beta program suggestions performs a key position in serving to Android constantly enhance. The Android 14 developer website has heaps extra details about the preview, together with downloads for Pixel and the discharge timeline. We’re trying ahead to listening to what you suppose, and thanks prematurely in your continued help make Android a platform that works for everybody.
Working throughout gadgets and kind elements
Android 14 builds on the work carried out in Android 12L and 13 to assist tablets and foldable kind elements. That will help you construct apps that adapt to completely different display sizes, we have created window measurement courses, sliding pane structure, Exercise embedding, and field with constraints and extra, all supported in Jetpack Compose. With each launch, our aim is to make it simpler so that you can optimize your app throughout all Android surfaces.
To assist streamline getting your apps prepared now we have up to date our app high quality steering for big screens, and offered further studying alternatives round constructing for big screens and foldables. The giant display gallery incorporates confirmed design patterns together with design inspiration round the markets that your app helps similar to social and communications, media, productiveness, purchasing, and studying apps.
Multi-device experiences are a giant a part of the way forward for Android. You will get began as we speak with the Cross gadget SDK preview, permitting you to construct wealthy experiences that intuitively work throughout completely different gadgets and kind elements, and there is extra to come back.
Streamlining background work
Android 14 continues our effort to optimize the way in which apps work collectively, enhance system well being and battery life, and polish the end-user expertise.
Updates and additions to JobScheduler and Foreground Companies
It is extra difficult than essential to carry out some background work, similar to downloading giant recordsdata when WiFi is out there. We’re creating a typical path for this work to simplify your app improvement and doubtlessly enhance the consumer expertise. We’re additionally being extra opinionated about how foreground companies needs to be used, reserving them for under the very best precedence user-facing duties in order that Android can enhance useful resource consumption and battery life.
In Android 14, we’re making adjustments to present Android APIs (Foreground Companies and JobScheduler) together with including new performance for user-initiated information transfers, together with an up to date requirement to declare foreground service varieties. The user-initiated information switch job will make managing consumer initiated downloads and uploads simpler, significantly once they require constraints similar to downloading on Wi-Fi solely. The requirement to declare foreground service varieties means that you can clearly outline the intent of the background work of your app whereas making it clear which use-cases are applicable for foreground companies. As well as, Google Play shall be rolling out new insurance policies to make sure the suitable use of those APIs, with extra particulars coming quickly.
Optimized broadcasts
We’ve made a number of optimizations to the interior broadcast system to enhance battery life and responsiveness. Whereas many of the optimizations are inner to Android and mustn’t impression your apps, now we have adjusted how apps obtain context-registered broadcasts as soon as the app goes right into a cached state. Broadcasts to context-registered receivers could also be queued and solely delivered to the app as soon as it comes out of the cached state. Moreover, some repeating context-registered broadcasts, similar to BATTERY_CHANGED, could also be merged into one last broadcast earlier than it’s delivered as soon as the app comes out of the cached state.
Actual alarms
The invocation of tangible alarms can considerably have an effect on the gadget’s assets, similar to battery life. So in Android 14, newly put in apps focusing on Android 13+ (SDK 33+) that aren’t clocks or calendars should request the consumer to grant them the SCHEDULE_EXACT_ALARM particular permission earlier than setting precise alarms. Apps can direct customers to the settings web page through an intent to toggle this permission, however we encourage you to guage your use instances and select extra flexibly scheduled alternate options when doable.
Clock and calendar apps focusing on Android 13+ (SDK 33+) that depend on precise alarms as a part of their core app workflow will have the ability to declare the USE_EXACT_ALARM regular permission as an alternative (granted on set up). Apps will be unable to publish a model of their app to the Play retailer with this permission within the manifest until they qualify primarily based on the coverage language.
Customization
We’re persevering with to ensure that Android customers can tune their expertise round their particular person wants, together with enhanced accessibility and internationalization options.
Larger fonts with non-linear scaling
Beginning in Android 14, customers will have the ability to scale up their font to 200%. Beforehand, the utmost font measurement scale on Pixel gadgets was 130%.
To mitigate points the place textual content will get too giant, beginning in Android 14, a non-linear font scaling curve is robotically utilized. This ensures that textual content that’s already giant sufficient doesn’t enhance on the similar charge as smaller textual content.
Per-app language preferences
You’ll be able to dynamically replace your app’s localeConfig with LocaleManager.setOverrideLocaleConfig to customise the set of languages displayed within the per-app language listing in Android Settings. This lets you customise the language listing per area, run A/B experiments, and supply up to date locales in case your app makes use of server-side localization pushes.
IMEs can now use LocaleManager.getApplicationLocales to know the UI language of the present app to replace the keyboard language.
Grammatical Inflection API
The Grammatical An infection API means that you can extra simply add assist for customers who communicate languages which have grammatical gender. For instance,
Masculine: “Vous êtes abonné à…”
Female: “Vous êtes abonnée à…”
Impartial: “Abonnement à…activé”
Grammatical gender is inherent to the language and can’t be simply labored round in some non-English languages. This new API lowers the trouble to assist viewer gender (who’s viewing the UI; not who’s being talked about) as in comparison with utilizing the SelectFormat in ICU which have to be utilized on a per string foundation.
To point out personalised translations, you simply want so as to add translations inflected for every grammatical gender for impacted languages and combine the API.
Privateness and Safety
Runtime receivers
Apps focusing on Android 14 should point out if dynamic Context.registerReceiver() utilization needs to be handled as “exported” or “unexported”, a continuation of the manifest-level work from earlier releases. Study extra right here.
Safer implicit intents
To stop malicious apps from intercepting intents, apps focusing on Android 14 are restricted from sending intents internally that do not specify a bundle. Study extra right here.
Safer dynamic code loading
Dynamic code loading (DCL) introduces shops for malware and exploits, since dynamically downloaded executables may be unexpectedly manipulated, inflicting code injection. Apps focusing on Android 14 require dynamically loaded recordsdata to be marked as read-only. Study extra right here.
Block set up of apps
Malware usually targets older API ranges to bypass safety and privateness protections which were launched in newer Android variations. To guard in opposition to this, beginning with Android 14, apps with a targetSdkVersion decrease than 23 can’t be put in. This particular model was chosen as a result of some malware apps use a targetSdkVersion of twenty-two to keep away from being subjected to the runtime permission mannequin launched in 2015 by Android 6.0 (API stage 23).
On gadgets that improve to Android 14, any apps with a targetSdkVersion decrease than 23 will stay put in.
You’ll be able to check apps focusing on an older API stage utilizing the next ADB command:
adb set up --bypass-low-target-sdk-block FILENAME.apk
Credential Supervisor and Passkeys assist
We not too long ago introduced the alpha launch of Credential Supervisor, a brand new Jetpack API that means that you can simplify your customers’ authentication journey, whereas additionally growing safety with assist of passkeys. Passkeys are a considerably safer alternative for passwords and different phishable authentication elements and extra handy for customers (they require only a biometric swipe to securely sign up on any gadget). Learn extra right here.
App compatibility
We’re working to make updates sooner and smoother with every platform launch by prioritizing app compatibility. In Android 14 we’ve made most app-facing adjustments opt-in to offer you extra time to make any mandatory app adjustments, and we’ve up to date our instruments and processes that can assist you prepare sooner.
OpenJDK 17 Assist – This preview consists of entry to 300 OpenJDK 17 courses. We’re working arduous to totally allow Java 17 language options in upcoming developer previews. These embrace document courses, multi-line strings and sample matching instanceof. Due to Google Play system updates (Venture Mainline), over 600M gadgets are enabled to obtain the newest Android Runtime (ART) updates that embrace these adjustments. That is a part of our dedication to offer apps a extra constant, safe atmosphere throughout gadgets, and to ship new options and capabilities to customers impartial of platform releases.
adb
. Take a look at the small print right here.
App compatibility toggles in Developer Choices |
Get began with Android 14
The Developer Preview has the whole lot you’ll want to attempt the Android 14 options, check your apps, and provides us suggestions. For testing your app with tablets and foldables, the best strategy to get began is utilizing the Android Emulator in a pill or foldable configuration within the newest preview of the Android Studio SDK Supervisor. For telephones, you may get began as we speak by flashing a system picture onto a Pixel 7 Professional, Pixel 7, Pixel 6a, Pixel 6 Professional, Pixel 6, Pixel 5a 5G, Pixel 5, or Pixel 4a (5G) gadget. Should you don’t have a Pixel gadget, you should utilize the 64-bit system photographs with the Android Emulator in Android Studio.
For the very best improvement expertise with Android 14, we advocate that you just use the newest preview of Android Studio Giraffe (or newer Giraffe+ variations). When you’re arrange, listed below are a few of the issues it’s best to do:
- Attempt the brand new options and APIs – your suggestions is essential throughout the early a part of the developer preview. Report points in our tracker on the suggestions web page.
- Check your present app for compatibility – study whether or not your app is affected by default habits adjustments in Android 14; set up your app onto a tool or emulator working Android 14 and extensively check it.
- Check your app with opt-in adjustments – Android 14 has opt-in habits adjustments that solely have an effect on your app when it’s focusing on the brand new platform. It’s necessary to grasp and assess these adjustments early. To make it simpler to check, you may toggle the adjustments on and off individually.
We’ll replace the preview system photographs and SDK recurrently all through the Android 14 launch cycle. This preliminary preview launch is for builders solely and never supposed for every day or shopper use, so we’re making it out there by guide obtain solely. When you’ve manually put in a preview construct, you’ll robotically get future updates over-the-air for all later previews and Betas. Learn extra right here.
Should you intend to maneuver from the Android 13 QPR Beta program to the Android 14 Developer Preview program and do not need to should wipe your gadget, we advocate that you just transfer to Developer Preview 1 now. In any other case chances are you’ll run into time intervals the place the Android 13 Beta could have a newer construct date which is able to stop you from going on to the Android 14 Developer Preview with out doing a knowledge wipe.
As we attain our Beta releases, we’ll be inviting customers to attempt Android 14 as effectively, and we’ll open up enrollment for the Android Beta program at the moment. For now, please word that the Android Beta program isn’t but out there for Android 14.
For full info, go to the Android 14 developer website.
Java and OpenJDK are emblems or registered emblems of Oracle and/or its associates.