Google announced Android 12 back in February and released the first developer preview in the same month. Over time, it has released other developer previews too, each containing bug fixes and enhancements to the overall experience. Now, the company has rolled out Android 12 Developer Preview 3 for Pixel devices and it gears up for its first Beta launch next month.
Starting off with what's new in this release, we have improved app launch experiences. All apps will now launch with a a splash screen showing the app icon before transitioning to the actual app. Google hopes to bring consistency in design across apps with this change but has allowed developers to customize the experience using the SplashScreen API.
Similarly, there's a new template for call notifications in order to enhance visibility and to bring them in line with other notification components. Developers with apps which make use of dialer capabilities can take advantage of the CallStyle template to create notifications.
For apps that utilize exact alarms which bypass Doze and App Standby restrictions, Google has added a new permission that developers can include in their app manifest. However, users will also have visibility over this setting and can choose to disable it for specific apps. Google has also cautioned that it is better if developers move away from exact alarms where possible because they can cause a lot of battery drain if not used correctly.
Web linking is being improved in this release too. Essentially, web links that aren't approved manually by the user will open in the default web browser, rather than the user being given an option of how they want to open a link. Developers who want the links from their domain to open directly within their app are advised to make use of App Links to enable this behavior.
With this preview release, Google has also introduced richer haptic experiences that developers can utilize in the UI elements of their games. The company says that it will be collaborating with other OEMs "to bring the latest in haptics support to users across the ecosystem".
Over on the non-user facing side of things, we already know that Google is deprecating RenderScript in favor of Vulkan. Android 12 Developer Preview 3 also comes with an improved video encoding experience by standardizing keys for controlling video Quantization Parameters (QP).
The company has also noted that many OEMs include custom camera effects such as bokeh and HDR, and with the latest Android release, these will be exposed to the platform via the CameraX library. If a vendor does not provide an implementation of an effect, apps will default to the CameraX implementation of the same effect. This will enable apps to make use of these custom extensions without too many changes to the code.
Quad camera setups with extremely high resolution sensors are becoming quite common so Google has also introduced new platform APIs that enable apps to take advantage of specific sensors. On the machine learning (ML) side of things, the Neural Network API and ML accelerators have been enhanced to reduce overheads, and has also decoupled it from platform releases.
Better diagnostics for native app crashes are also included in this release by giving apps access to crash dump files for granular debugging. Lastly, more flexibility is being given to backup configurations too. Google says that:
Android’s backup service lets users restore or migrate their data to a new device effortlessly. Apps are central to the experience, enabling users to easily transfer app data and continue where they left off. The backup service supports both cloud backups to Google Drive and device-to-device transfers, and developers can take advantage of these with minimal changes in their apps. For apps targeting Android 12, we’re improving the service to give you more flexibility and control. We’ve updated the XML configuration format so you can now set different rules for cloud backups and device-to-device transfers. With this, for example, you could exclude a large file from cloud backups but include it in device-to-device transfers. You can also set encryption requirements separately for backups or transfers. Last, if you’d like to opt-out of Auto Backup for device-to-device transfers, please use the new configuration format instead of the allowBackup manifest attribute.
In terms of timelines, Google has highlighted that with Android 12's release cadence, it is prioritizing app compatibility. With the first Beta update expected next month, it recommends that you gear up for compatibility testing so by the time the operating system reaches Platform Stability in August 2021 and all SDKs and APIs are finalized, you are ready with a compatible version of your app.
Android 12 Developer Preview 3 is available right now on Pixel 3/3 XL, Pixel 3a/3a XL, Pixel 4/4 XL, Pixel 4a/4a 5G, and Pixel 5. If you've already installed a developer preview release before, you'll receive the update automatically over-the-air (OTA). However, if you don't have a preview build on your device, you will need to flash it manually. Find out how to do so in our detailed guide here.