Posted by Dave Burke, VP of Engineering
Today we’re giving you an early look at Android 8.1. This update to Android Oreo includes a set of targeted enhancements including optimizations for Android Go (for devices with 1GB or less of memory) and a new Neural Networks API to accelerate on-device machine intelligence. We’ve also included a few smaller enhancements to Oreo in response to user and developer feedback.
We’re bringing you this Developer Preview so you can get your apps ready; we’ve already been helping device makers prepare for this new version. We recommend starting soon — we’re expecting the final public version in December.
It’s easy to get Android 8.1 Developer Preview on your Pixel or Nexus device. Just enroll in the Android Beta Program — you’ll soon receive an over-the-air update to Android 8.1 beta. If you enrolled previously, you’re all set, there’s no need to re-enroll. The Developer Preview will be available for Pixel 2 and Pixel 2 XL devices, as well as for Pixel, Pixel XL, Pixel C, Nexus 5X, Nexus 6P, and the Android emulator.
What’s in Android 8.1?
Android 8.1 includes select new features and developer APIs (API level 27), along with the latest optimizations, bug fixes, and security patches. Some of the new APIs include:
- Android Go memory optimizations and targeting — Android 8.1 includes a set of memory optimizations for Android Go configurations (1GB or less of memory). We’ve added new hardware feature constants so you can now target the distribution of your apps and APK splits to normal or low-RAM devices running Android 8.1 and later.
- Neural Networks API — as part of our efforts to bring machine intelligence to Android, we’ve added a Neural Networks API via the NDK. It enables hardware-accelerated inference operations on supported devices. We designed the Neural Networks API as a foundational layer for ML frameworks like TensorFlow Lite — Google’s upcoming cross-platform ML framework for mobile — as well as Caffe2 and others. Stay tuned for TensorFlow Lite announcements.
- Autofill enhancements — we’ve made it easier for password managers and other Autofill services to use the Autofill framework. For example, we’ve added support for more UI customization of the Save dialog, as well as setAutofillOptions() for users to set credit card expiration using a spinner.
- Shared memory API — this new API lets apps allocate shared memory for faster access to common data. Apps can map anonymous shared memory and manage protection controls using the SharedMemory API. The API is parcelable, AIDL friendly, and exposes useful features like removing write permissions.
Test your apps on Android 8.1
With the consumer launch coming in December, it’s important to test your current app now. This gives users a seamless transition to Android 8.1 when it arrives on their devices.
Just enroll your eligible device in Android Beta to get the latest update, then install your app from Google Play and test. If you don’t have a Pixel or Nexus device, you can set up an Android 8.1 emulator for testing instead. If you notice any issues, fix them and update your app in Google Play right away — without changing the app’s platform targeting.
Build with new features and APIs
When you’re ready, take advantage of the new features and APIs in Android 8.1, which we’ve already finalized as API Level 27. For an overview of what’s new, take a look at Android 8.1 for Developers. You can also extend your apps with established Android Oreo features as well, see the Android Oreo site for details.
If your app uses forms, make sure to test them with autofill so that users can take advantage of this convenient feature. Enable “Autofill with Google” or a similar service in Settings and test the form fills to make sure they work as expected. We strongly recommend providing explicit hints about your fields, and also associating your website and mobile app, so that logins can be shared between them.
Speed your development with Android Studio
To build with Android 8.1, we recommend updating to Android Studio 3.0, which is now available from the stable channel. On top of the new app performance profiling tools, support for the Kotlin programming language, and Gradle build optimizations, Android Studio 3.0 makes it easier to develop with Android Oreo features like Instant Apps, XML Fonts, downloadable fonts, and adaptive icons.
We also recommend updating to the Android Support Library 27.0.0, which is available from Google’s Maven repository. New in this version are: a ContentPager library for efficiently loading “paged” data on a background thread; ViewCompat wrappers for Autofill methods; an AmbientMode headless fragment that improves Wear ambient mode support, fullscreen Trusted Web Activities, and more. See the version notes for more information.
You can update your project’s
compileSdkVersion to API 27 to compile against the official Android 8.1 APIs. We also recommend updating your app’s
targetSdkVersion to API 27 to test with compatibility behaviors disabled. See the this guide for details on how to set up your environment to build with Android 8.1.
Publish your updates to Google Play
The Android 8.1 APIs are already final, so we’ve opened Google Play for apps compiled against or targeting API level 27. When you’re ready, you can publish your APK updates in your alpha, beta, or production channels. Make sure that your updated app runs well on Android 8.1 as well as older versions. We recommend using Google Play’s beta testing feature to run an alpha test on small group of users, then run a much larger open beta test. When you’re ready to launch your update, you can use a staged rollout. We’re looking forward to seeing your app updates!
Give us your feedback!
As always, your feedback is crucial, so please let us know what you think. We’ve set up different hotlists where you report Android platform and tools issues, app compatibility issues, and third-party SDKs and tools issues. We also have a new hotlist for Neural Networks API issues.