In a move that shocked us all, Google announced the release of its Android O Developer Preview yesterday. Android N, which we now know to be Nougat, has only reached a near 3% of Android devices worldwide as of March, yet we’re already on to the next big thing! In fact, just two days ago, Google released Android 7.1.2 Developer Preview 2. But that attention shortly scattered sway once Android O was introduced.
Android O is available for flashing only, as of the time this post was written. It’s not recommended by Google nor us to flash images unless you’re familiar with the process and have a spare phone lying around, as the software is dense in bugs being in the alpha stage. Compatible devices at this point include Pixel, Pixel XL, Nexus 5X, Nexus 6P, Nexus Player, and Pixel C tablet. For installation instructions, full availability and all the official details, read our full overview here. The below list consists of the major new features that can be found in Google’s first Android O Developer Preview. Since there will be officially four of these, don’t get too attached to your favorites, since there’s no telling whether or not they’ll stay. The list comes from Android Developers.
What’s new in O?
Android O introduces a number of new features and APIs to use in your apps. Here’s are just a few new things for you to start trying in this first Developer Preview:
Background limits: Building on the work we began in Nougat, Android O puts a big priority on improving a user’s battery life and the device’s interactive performance. To make this possible, we’ve put additional automatic limits on what apps can do in the background, in three main areas: implicit broadcasts, background services, and location updates. These changes will make it easier to create apps that have minimal impact on a user’s device and battery. Background limits represent a significant change in Android, so we want every developer to get familiar with them. Check out the documentation onbackground execution limits and background location limits for details.
Notification channels: Android O also introduces notification channels, which are new app-defined categories for notification content. Channels let developers give users fine-grained control over different kinds of notifications — users can block or change the behavior of each channel individually, rather than managing all of the app’s notifications together.
Android O also adds new visuals and grouping to notifications that make it easier for users to see what’s going on when they have an incoming message or are glancing at the notification shade.
Autofill APIs: Android users already depend on a range of password managers to autofill login details and repetitive information, which makes setting up new apps or placing transactions easier. Now we are making this work more easily across the ecosystem by adding platform support for autofill. Users can select an autofill app, similar to the way they select a keyboard app. The autofill app stores and secures user data, such as addresses, user names, and even passwords. For apps that want to handle autofill, we’re adding new APIs to implement an Autofill service.
PIP for handsets and new windowing features: Picture in Picture (PIP) display is now available on phones and tablets, so users can continue watching a video while they’re answering a chat or hailing a car. Apps can put themselves in PiP mode from the resumed or a pausing state where the system supports it – and you can specify the aspect ratio and a set of custom interactions (such as play/pause). Other new windowing features include a new app overlay window for apps to use instead of system alert window, and multi-display support for launching an activity on a remote display.
Font resources in XML: Fonts are now a fully supported resource type in Android O. Apps can now use fonts in XML layouts as well as define font families in XML — declaring the font style and weight along with the font files.
Adaptive icons: To help you integrate better with the device UI, you can now create adaptive icons that the system displays in different shapes, based on a mask selected by the device. The system also animates interactions with the icons, and uses them in the launcher, shortcuts, Settings, sharing dialogs, and in the overview screen.
Wide-gamut color for apps: Android developers of imaging apps can now take advantage of new devices that have a wide-gamut color capable display. To display wide gamut images, apps will need to enable a flag in their manifest (per activity) and load bitmaps with an embedded wide color profile (AdobeRGB, Pro Photo RGB, DCI-P3, etc.).
Connectivity: For the ultimate in audio fidelity, Android O now also supports high-quality Bluetooth audio codecs such as LDAC codec. We’re also adding new Wi-Fi features as well, like Wi-Fi Aware, previously known as Neighbor Awareness Networking (NAN). On devices with the appropriate hardware, apps and nearby devices can discover and communicate over Wi-Fi without an Internet access point. We’re working with our hardware partners to bring Wi-Fi Aware technology to devices as soon as possible.
The Telecom framework is extending ConnectionService APIs to enable third party calling apps integrate with System UI and operate seamlessly with other audio apps. For instance, apps can have their calls displayed and controlled in different kinds of UIs such as car head units.
Keyboard navigation: With the advent of Google Play apps on Chrome OS and other large form factors, we’re seeing a resurgence of keyboard navigation use within these apps. In Android O we focused on building a more reliable, predictable model for “arrow” and “tab” navigation that aids both developers and end users.
AAudio API for Pro Audio: AAudio is a new native API that’s designed specifically for apps that require high-performance, low-latency audio. Apps using AAudio read and write data via streams. In the Developer Preview we’re releasing an early version of this new API to get your feedback.
WebView enhancements: In Android Nougat we introduced an optional multiprocess mode for WebView that moved the handling of web content into an isolated process. In Android O, we’re enabling multiprocess mode by default and adding an API to let your app handle errors and crashes, for enhanced security and improved app stability. As a further security measure, you can now opt in your app’s WebView objects to verify URLs through Google Safe Browsing.
Java 8 Language APIs and runtime optimizations: Android now supports several new Java Language APIs, including the new java.time API. In addition, the Android Runtime is faster than ever before, with improvements of up to 2x on some application benchmarks.
Partner platform contributions: Hardware manufacturers and silicon partners have accelerated fixes and enhancements to the Android platform in the O release. For example, Sony has contributed more than 30 feature enhancements including the LDAC codec and 250 bug fixes to Android O.
The below steps are necessary for app developers. They include the processes involved in downloading, building and previewing updates on the Android O Developer platform.
Get started in a few simple steps
First, make your app compatible to give your users a seamless transition to Android O. Just download a device system image or emulator system image, install your current app, and test — the app should run and look great, and handle behavior changes properly. After you’ve made any necessary updates, we recommend publishing to Google Play right away without changing the app’s platform targeting.
Building with Android O
When you’re ready, dive in to O in depth to learn about everything you can take advantage of for your app. Visit the O Developer Preview site for details on the preview timeline, behavior changes, new APIs, and support resources.
Plan how your app will support background limits and other changes. Try out some of the great new features in your app — notification channels, PIP, adaptive icons, font resources in XML, autosizing TextView, and many others. To make it easier to explore the new APIs in Android O, we’ve brought the API diff report online, along with the Android O API reference.
The latest canary version of Android Studio 2.4 includes new features to help you get started with Android O. You can download and set up the O preview SDK from inside Android Studio, then use Android O’s XML font resources and autosizing TextView in the Layout Editor. Watch for more Android O support coming in the weeks ahead.
We’re also releasing an alpha version of the 26.0.0 support library for you to try. This version adds a number of new APIs and increases the minSdkversion to 14. Check out the release notes for details.
The O Developer Preview includes an updated SDK with system images for testing on the official Android Emulator and on Nexus 5X, Nexus 6P, Nexus Player, Pixel, Pixel XL and Pixel C devices. If you’re building for wearables, there’s also an emulator for testing Android Wear 2.0 on Android O.
We plan to update the preview system images and SDK regularly throughout the O Developer Preview. 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 and flash only. Downloads and instructions are here.
As we get closer to a final product, we’ll be inviting consumers to try it out as well, and we’ll open up enrollments through Android Beta at that time. Stay tuned for details, but for now please note that Android Beta is not currently available for Android O.
Again, it is not recommended that you try to software on your daily driver. However, if you’re willing to take the chance, Google is asking for your feedback. Instructions on how to contact Google can be read below.
Give us your feedback
As always, your feedback is crucial, so please let us know what you think — the sooner we hear from you, the more of your feedback we can integrate. When you find issues, please report them here. We’ve moved to a more robust tool, Issue Tracker, which is also used internally at Google to track bugs and feature requests during product development. We hope you’ll find it easier to use.
The latest word is that there will be four Android O previews before the public release (in Q3 of 2017), round two in May, preview three in June, and a final preview coming in late July. Are these features worthy of Android version 8.0? And what do you think Android “O” will stand for? I have some ideas, but we want to hear yours. Let us know in the comments and we’ll be there to let you know our opinions.
SOURCE [Android Developers]