Android 14 Developer Preview 1: Developer’s Guide to Android 14

Quick Summary:

Android 14 (Upside Down Cake) first Developer Preview is here! Right on schedule following its predecessors Android 13 and Android 12, Android 14 made its debut in the early weeks of February. Let us see what is new in Android 14 and how you can get your hands on experiencing it for yourself!

Android 12 revolutionized was the biggest design overhaul in Android ever since Android 5. Android 13 enhanced these design implements, and Android 14 has more under-the-hood changes and performance optimization. Unveiling the final set of features will take time since Google will likely keep that under the wraps until their Google I/O Conference in May.

 

When it is made available, we will update the link on key highlights of Google I/O 2023 here.

Android 14 Rollout Timeline

Android 14 First Developer Preview is already out in the first week of Feb. Google has also shared their Android 14 rollout plan divided throughout the months till August as the final release month. Let us get a closer look into this breakdown and see what we can expect when:

Android 14 Rollout Phase Month Key Takeaways
Developer Preview 1 February Brief understanding of baseline build focused on developer feedback, introduction to new features, behavior changes, and API.
Developer Preview 2 March Apps ready for consumer Beta, compatibility testing, and publishing app updates to testing tracks
Beta 1 April Initial beta release, OTA update for early adopters for developers that enroll in Android Beta, start early testing targeting Android 14
Beta 2 May Compatibility testing, further testing targeting Android 14, notifying SDK and library developers for compatibility issues.

Now let us get started with everything there is to know about Android 14 from a developer’s perspective so far:

How to Install Android 14 Developer Preview 1?

Naturally, the first and foremost thought in all of our heads – developers and users alike are how to get Android 14 or which pixel phones will get Android 14. There are two ways to get the Android 14 Developer Preview so far:

How to Install Android 14 Developer Preview on Google Pixel Devices

Suppose you have your hands on the latest Pixel devices. In that case, you can either flash your device using the Android Flash tool or manually flash your device by downloading the relevant Android 14 system image for your device on the Factory images for Google Pixel page on Android Developers’ official forum.

List of supported Pixel Devices that will get Android 14 DP1

 

  • Pixel 4A (5G)
  • Pixel 5 and 5a
  • Pixel 6 and 6 Pro
  • Pixel 6a
  • Pixel 7 and 7 Pro

Flashing Pixel Device using Android Flash Tool

Android Flash Tool is the recommended flashing tool for securely flashing the Android 14 beta system image on any supported Pixel device. AFT can work with any web browser that supports WebUSB. Edge 79+ or Chrome are some of the ideal browsers to rely on.

Preparing your device for Android Flash Tool

 

If you are new to flashing your Android device for installing the latest Android system image, here are the important steps you need to take on your Pixel device before starting the process.

  • Enable Developer Options and USB Debugging
  • Enable OEM Unlocking in Developers Menu

Preparing your Windows device for Flashing Tool

To install Android drivers on your desktop, you must take the steps mentioned in the Install OEM USB Drivers section of the Android developers forum.

Flashing your Pixel Device with Android 14 System Image

  • Connect your Pixel device to your system device
  • Go to flash.android.com on Chrome/Edge.
  • Allow the flash tool to establish communication with your test device via ADB (Android Debugging) via the popup on your Pixel device – Allow site access to your ADB keys to communicate with other devices.
  • Select the Add New Device button.
  • Find your device from the list and click Connect.
  • On the device screen, select Always allow from this computer and click OK for accepting USB debugging connection.
  • Now go back to your browser and select the connected device
  • Search the desired build from the list
  • Press Install to initiate the process. This will reboot your device in fast boot mode.
  • Your device will indicate ‘Flash Complete’. At this point, disconnect your device from the USB cable.

Returning to the Public Build

If you go back to your public build after getting done experimenting with Android 14, you can follow the same flashing method to flash the latest factory image and lock your device.

Flash your Android Device Manually

Alternatively, if you wish to download Android’s latest version manually, you can download the latest system image and flash it manually to your device. Manual flashing is better for developers who need accurate control over their Android app test environment or for situations where you need to reinstall the Android 14 DP1 system image frequently, for instance, when conducting automated testing.

You can return to your stable public build whenever you feel like it.

The Device Factory Images Download Links are available on the Factory Images for Google Pixel page of Android Developer’s official forum.

Also Check : How to Optimize Android App Performance in 2024?

How to Install Android Pixel DP1 Preview on Android Studio Emulators

Alternatively, if you do not have hands-on access to a physical Android 14 hardware device (Pixel Devices), you can always Set up an Android Emulator.

You must carry out some basic steps for configuring your Android Emulator to run the latest Android 14 and explore its new features and APIs. You can also test the behavior changes in Android 14 this way. Depending on what kind of device you are targeting, you can select the ideal device to set up your Android 14 emulator. Generally, there are two broad categories :

  • Phone
  • Tablet/Large Screen Devices

Setting up a Virtual Phone for Testing Android 14

For setting up a virtual phone that can run Android 14, all you need to do is :

  1. Install the latest Preview Build of Android Studio (Android Studio Electric Eel) from the official Android Studio site:
  1. Open Android Studio, Navigate to Tools, and Click SDK Manager.
  1. In the SDK Tools Tab, select the latest version of Android Emulator and press OK. This will install the latest Android Emulator version if you already have it.
  1. Next, go back to the Tools section and select AVD Manager from the drop-down list. Now follow the instructions needed for developing a new Android Virtual Device.Be sure to select any device definition for a supported Pixel device and a 64-bit Android 14 emulator system image.
  1. Return to the list of virtual devices in the AVD Manager and double-click on the installed Android 14 system image that matches your desired device definition. Click download next to that Release Name and get it.
  2. Now your Android 14 virtual phone is ready to use. Click on the launch icon next to it and start exploring!

Setting up a Virtual Tablet/Large Screen for Testing Android 14

  • Steps 1 to 3 will be the same as above. After that, go to Tools>Device Manager and click Create Device from the Device Manager Panel.
  • display in the Phone category, then click Next.
  • Tweak other settings of your device config, if need be, and then click Finish.
  • Launch the virtual device, and you are all set!

How to Install Android Pixel DPI1 Preview on Resizable Emulator

Go to Device Manager > Create New Virtual Device and select Resizable device from the phone category.

Instead of creating separate virtual device instances for mobiles, foldable devices, and large screens, you can set up a resizable device config if you are running Android Chipmunk or higher versions.

Use the Android 14 system image on your resizable emulator, and you will be able to instantly toggle between four different reference devices – phone, foldable, tablet, and desktop. Users can also toggle between folded and unfolded instances on foldable devices. Due to this flexibility, developers can validate their design time and test their app’s behavior on runtime across various screen and device types.

Are you looking to hire Android App Developers?

Hire Professional Android App Developers from Aglowid to develop highly scalable and performance-oriented mobile app project.

Android 14 Developer Guide: Changes in APIs, Permissions, & others

Android 14 has many permission, functions, and API changes, some with backward compatibility and others that require more urgent attention. Here are some of the top Android 14 DP 1 Developer centric changes you should know about:

Internationalization Improvements in Android 14

Internationalization and localization are important aspects to focus on, especially if you want to develop an app with a global audience. It is also ideal if your app might need translation requirements in later stages. By setting up internationalization best practices from the get-go, you can save considerable costs and reduce time-to-market for local markets. Here is how Android 14 is setting up internalization best practices:

Per App Language Preferences

Per App Language Preference was initiated in Android 13 at API level 33. Android 14 seeks to enhance the capabilities of this feature with these new updates:

  • App Language Visibility for Input Method Editors (IME)

Your IMEs will now be able to use the getApplicationLocales() method for checking the current app’s language and matching the IME language with it.

  • Dynamic updates for App’s localeConfig:

By using setOverrideLocaleConfig()and getOverrideLocaleConfig() methods in LocaleManager developers will be able to dynamically update your app’s list of supported languages in the device’s system settings.

Grammatical Inflection API

This new API will allow developers to add better support for users that speak gender-specific languages where the sentence would change based upon the person being addressed. This is taking personalization to the next level providing users with a more natural and authentic user experience. For instance, English is gender-neutral, but languages like Spanish, Arabic, and Hindi are gendered.

For providing localized text for such languages that have grammatical gender you can create an alternate resources file and append the grammatical gender qualifier after the locale name for such languages.

Qualifier String Value Example Hindi (hi)
Feminine feminine res/values-hi-feminine/strings.xml
Masculine masculine res/values-hi-masculine/strings.xml
Neuter neuter res/values-hi-neuter/strings.xml

Developers need to include these gender-specific inflections in a unique resource file, and all other strings should be stored in the default resource file, which has other localized strings. Doing so will save your app from throwing error messages, as the app will show the default translation when a grammatically gendered version is unavailable.

Also Check : Android vs iOS Security Comparison in 2024

Accessibility Improvements in Android 14 Development Preview

Google has always placed accessibility with all their Android releases. Android 14 is no different, as it brings some of the best accessibility features to Android users with special needs.

Non-Linear font scaling at 200%

Android introduced support for font scaling up to 200%, which helps users with low vision access content better. It aligns with the WCAG – Web Content Accessibility Guidelines. Developers should take note of this change and test their app’s UI to ensure it can adjust to larger font sizes without harming usability.

Core Functionality Changes in Android 14

There have been significant core functionality changes in Android 14 Developer Preview 1. Developers should note these requirements and abide by them to ensure their app is rendered usable when the stable Android 14 build sets in.

Schedule Exact Alarms Permission Denied by Default

Android 12 brought new permission to the Android development realm– SCHEDULE_EXACT_ALARM. The apps needed to hold this permission for scheduling exact alarms. Any apps targeting Android 12 (API level 31) or higher could use the same alarm API provided by AlarmManager. Apps that did not have this permission could not use these APIs unless they were explicitly exempted from battery restrictions.

Google introduced SCHEDULE_EXACT_ALARM permission with a “normal|appop” protection level. Hence apps that requested this permission on API level 31 (Android 12) automatically approved it at install time. The users had the option to revoke this permission from AppsOpsManager CLI or go to Settings>Apps>Special Access > Alarms & Reminders.

Android 13, however, will deny this SCHEDULE_TEXT_EXACT_ALARM permission by default for any apps targeting API level 33 for improving battery optimization. The protection level is changed from “normal|appop” to “pop”; hence it is no longer automatically granted in Android 13 at install time. However, if your apps target Android API levels 31-32, permission will automatically be granted to maintain backward compatibility.

Developers can check if their app is allowed to schedule exact alarms by calling AlarmManager’s canScheduleExactAlams API.

Suppose your apps do not have this permission granted. In that case, they could ask users to exempt their apps from battery restrictions or manually go to settings>app>app info> battery and check ‘unrestricted.’

Declaring Foreground Service Types

android: foregroundServiceType : this attribute within the <service> element was introduced with Android 10. The purpose was to help developers define user-centric foreground services more specifically or intentionally. Android 14 makes it mandatory for developers to specify the appropriate foreground service type they need to use.

If any use case of your app cannot be associated with these types, you should migrate the logic to WorkManager or user-initiated data transfer jobs.

Intended Use Cases for Each Service Type

Service Type Intended Use Case Permissions Required/
Camera Continue to access the camera from a background, like a video chat app that allow users to multi-task Grant the CAMERA permission
Connected Device Interacting with external devices that work on USB, IR, NFC, Bluetooth or a network connection BLUETOOTH_CONNECT
BLUETOOTH_ADVERTISE
BLUETOOTH_SCAN
CHANGE_NETWORK_STATE
CHANGE_WIFI_STATE
CHANGE_WIFI_MUTLICAST_STATE
NFC
TRANSMIT_IR
UWB_RANGING
Data Sync All data-related operations like data download or upload, import/export operations, local file processing, fetching data, backup and restore, and transferring data between a device and the cloud over the network None
Health Preview in Android 14 HIGH_SAMPLING_RATE_SENSORS
BODY_SENSORS
ACTIVITY_RECOGNITION
Location Use cases that need location access, such as location sharing and navigation ACCESS_COARSE_LOCATION
ACCESS_FINE_LOCATION
Media Continue video/audio playback from the background None
Media Projection For projecting content to another device using MediaProjection APIs. CreateScreenCaptureIntent()
Microphone Microphone capture runs in the background from services like a voice recorder or communication apps. RECORD_AUDIO
CAPTURE_AUDIO_OUTPUT
CAPTURE_AUDIO_HOTWORD
CAPTURE_MEDIA_OUTPUT
CAPTURE_TUNER_AUDIO_INPUT
CAPTURE_VOICE_COMMUNICATION_OUTPUT
Phone Call Continuing ongoing phone calls using the ConnectionService APIs. Must be granted the MANAGE_OWN_CALLS permission
Short Service Preview in Android 14 None
Special Use Preview in Android 14 None
RemoteMessaging Preview in Android 14 None
short-service Preview in Android 14 None
System Exempted Preview in Android 14 The app performs any of the acceptable use cases for declaring this type

Security Changes in Android 14 Develop Preview 1

One of the most anticipated updates in any new Android version launch is how it will deal with security issues and improve overall app security for users. Here are some of the significant changes and initiatives Android 14 is taking to improve security measure:

Restrictions to Implicit and Pending Intents

For all apps intending to target Android 14, Android will restrict apps from sending implicit intents to internal components. This will help block malicious apps from intercepting intents only for an app’s internal components.

Specify Export Behaviour in Runtime Registered Broadcasts

All apps and services targeting Android 14 that utilize context-registered receivers will have to specify a flag to indicate whether the receiver should be exported to other apps on the device. They can use RECEIVER_EXPORTED or RECIEVER_NOT_EXPORTED , respectively.

Note: For apps using context-registered receivers for system broadcasts through Context#registerReceiver methods, you do not need to specify flags when registering the receiver.

Android 14 Developer Preview 1: What is New from Android Team?

Apart from all these API and permission changes Android 14 is bringing some monumental updates and introducing new features for improving the overall cross-platform Android experience, optimizing Android for larger screens/tablets, and much more.

 

Here are the major updates you need to know about:

The all-new Cross Device SDK

Cross-Device SDK will act as a one-stop solution for developers to create multi-compatible apps that need to work on various devices. It simplifies the complex build of rich and engaging multi-device apps by aggregating different connectivity technologies under one roof.

 

This is a significant relief for Android developers who previously had to work independently on different connectivity frameworks like Wi-Fi or Bluetooth for creating multi-device experiences. With this cross-device SDK introduced in Android 14, developers only need to focus on enhancing the experience while this SDK takes care of the basics.

Core Functionalities of Cross-Device SDK:

 

  • Device discovery and authorization
  • Multi-device sessions
  • Secure connections and data transfers

Three Principles Behind Cross-Device SDK

Google followed three basic principles when building Cross Device SDK to accelerate the multi-device app experiences securely. They are:

  • Modular: SDK should easily be able to mix with solutions
  • Ubiquitous: SDK should work on most devices possible, with priority on phones and tablets
  • Empowering removing cross-device experience specifications allows developers to build their own experiences and features.

Cross-Device SDK – Possible Use Cases

Who is cross-device SDK beneficial for? How can I make use of this new SDK? If these are some of the questions in your mind, Google has identified some everyday use cases that could help you figure it out:

Use Cases (Experiences) Description Instances
Personal Experiences These experiences revolve around a single user on various smart devices and establishing a seamless connection.
  • Completing payment of a movie rental on your TV via your phone
  • Start reading an article on your mobile and continue from your tablet right where you let off
Communal Experiences Such experiences occur between a group of people.
  • Sharing map location with friend’s car
  • Sharing routines with others from the same group
  • Collecting food items for a group lunch without needing to pass the phone around
Media and Other Experiences Refers to multi-device media consumption experience where you also need media controls, authorization layers, and more. Android 14 has some valuable SDKs for such use cases.
  • Media sessions: continuous playbacks
  • Cast SDK: casting media to other smart devices
  • Companion Device Manager: discovering and pairing devices together
  • Block Store: authentication

Better focus on Large Screens

Continuing the quest to improve the Android ecosystem, Android 14 DP1 showed Google’s dedication to improving Android’s UI and performance across all screen sizes and devices such as phones, foldable, tablets, and Chromebooks. Android started dedicatedly focusing on more giant screens with Android 12L, which got minor enhancements with Android 13. Android 14 is carrying on the same effort and taking it up a notch further. They updated their extensive screen quality checklist as an efficient guide for developers to measure their app’s performance across various devices. They also added new example layouts for different category apps for inspiration.

Restricting Sideloading with Android 14

One of the biggest security updates in Android 14 is that users will not be able to install any apps that target any SDK version lower than 23 (Android 6). This is an excellent step since most malicious apps or malware target older Android versions to avoid restrictions introduced in SDK 23 and higher. This also eliminates the threat of malicious apps being downloaded from third-party stores since if they do not match this criterion, they will not be installed on the user’s device. Developers working on SDK version 23 or below should note this.

Wrapping up!

This was a quick guide on how to install Android 14 and explore its features and behavioral changes. Get your hands on Android 14.

have a unique app Idea?

Hire Certified Developers To Build Robust Feature, Rich App And Websites.

 

This post was last modified on December 11, 2023 5:23 pm

Saurabh Barot: Saurabh Barot, the CTO at Aglowid IT Solutions, holds over a decade of experience in web, mobile, data engineering, Salesforce, and cloud computing. Renowned for his strategic vision and leadership, Saurabh excels in overseeing technology strategy, managing data infrastructure, and leading cross-functional teams to drive innovation. Starting with web and mobile application projects, his expertise extends to Big Data, ETL processes, CRM systems, and cloud infrastructure, making him a pivotal force in aligning technology initiatives with business goals and ensuring the company stays at the forefront of technological advancements.
Related Post