Google Launches Android O developer preview with tons of new features

Google has just launched their first developer preview of Android O, which can be downloaded from The preview includes an SDK image for Nexus 5X, Nexus 6P, Nexus Player, Pixel, Pixel XL, Pixel C, and the official Android Emulator. There’s also an emulator for testing Android Wear 2.0 on Android O.

Unlike the first preview of Android Nougat, Android O will not be available as Android Beta, but only as manual download & flash. This is to ensure that only developers can use it for now and not consumers. The idea is to allow developers to play with the SDK, test their apps and provide feedback before Google I/O 2017 from May 17 to May 19.

At the moment, the developer preview provides the following APIs, more to follow in May-July period :

  1. Better battery life : Android O promises a new approach to handling apps running in background, which Google says will improve the battery life of mobile, tablets & other devices. Similar to Nougat’s battery life improvements, Android O limits what apps can do when they’re running in background, in 3 main areas – location updates, background services and implicit broadcasts. For example, location will be updated only a few times each hour while background services which run continuously (like checking inbox) while users are on another app will close automatically after a short period.
  2. Notifications : New notification channels (known as notification categories) allow developers to create a user-customizable channel for each type of notification you display. This allows users to control which type of notifications to view or block in an app, instead of managing all notifications for an app together.
  3. AutoFill Framework : Form filling can be time consuming & error prone, frustrating the users and spoiling user experience. Android O introduces an AutoFill Framework that allows users to autofill repetitive forms during account creation, login and credit card payments. Interested users can opt in for this framework.
  4. Picture in Picture mode : Picture-in-Picture (PIP) is a special type of multi-window display that allows users to shrink the video to a floating windows while doing other things like replying to a chat or booking a hotel reservation. Apps can put themselves into PIP mode from a paused/resumed state. Developers can also specify aspect ratios and custom interactions (e.g play/pause ) while the video is in PIP. There’s also a new app overlay window to use instead of system alerts window
  5. Enhanced Multi-display support:  If an activity supports multi-window mode and the device has multiple displays, then the user can move the activity from one display to another.
  6. Fonts in XML : Now you can use Fonts as a resource instead of bundling it as an asset. You can access these fonts with a new resource type, font. Apps can use fonts via XML Layouts where you can define font family – font file, size & weight.
  7. Wide Gamut Colors for Apps : Developers of imaging apps can take advantage of devices that support wide gamut color display.
  8. Wi-Fi Aware : Android O adds support for “Wi-Fi Aware” based on Neighbor Awareness Networking (NAN) that allows nearby Wi-Fi Aware hardware, apps and devices to discover and communicate over Wi-Fi without an Internet Access Point.
  9. Adaptive Icons : Developers can create Adaptive icons that adapt to the icon style of the particular flavor of Android.
  10. Smart Sharing : Android O automatically learns users’ personalized preferences for sharing and identifies the right app to share each type of content. For example, if user takes a photo of a receipt, Android will suggest an expense tracking app, if users take a selfie then a social media app. Developers can enable smart sharing for their apps to help users share easily.
  11. New Bluetooth codecs : New Bluetooth codecs are supported (thanks to Sony for making their LDAC codec available) enabling higher fidelity when using headphones and bluetooth earphones.
  12. App Categories : Now you can specify a Category for your App. These categories are used to group apps of similar function or purpose while presenting them to users, such as in Data Usage, Battery Usage, or Storage Usage.
  13. Keyboard navigation : Users who pair Android O with a keyboard will be able to easily navigate around apps using arrow & tab keys.
  14. AAudio API for Pro Audio : A new native Audio API designed specifically for apps that require low latency, high performance audio. Apps can use AAudio to read & write data via streams.
  15. Multiple Java APIs supported : Android O has also added several features from various new Java APIs such as java.time from OpenJDK 8, java.nio.file and java.lang.invoke including MethodHandle from OpenJDK 7


It might be a good idea to make your app compatible with Android O and provide feedback to Google so that your users can seamlessly transition when they upgrade.