Latest development in branch Android 8.1
8.1.0_r81
Released 07 Aug 2020
(5 years ago)
SoftwareAndroid OS
VersionAndroid 8.1
CodenameOreo
API level27
Initial release8.1
05 Dec 2017
(8 years ago)
Latest release8.1.0_r81
07 Aug 2020
(5 years ago)
Security supportNo
Source codehttps://android.googlesource.com/platform/frameworks/base/+/android-8.1.0_r81
Documentationhttps://developer.android.com/about/versions/8
Android OS Android 8.1 ReleasesView full list

What Is New in Android 8.1

Android 8.1 Oreo is an incremental update focused on refining the user and developer experience introduced in 8.0. It brings new APIs for hardware, optimizations for low-RAM devices, and several developer-quality-of-life improvements.

Category Key Changes
New Features Neural Networks API, Autofill enhancements, Shared memory API
Improvements Android Go memory optimizations, Notifications, WebView security
Behavior Changes Background execution limits, Cache data handling
Deprecations General progress on deprecating outdated methods

What hardware acceleration does the Neural Networks API enable?

The Neural Networks API (NNAPI) provides a foundational layer for on-device machine learning operations. It allows frameworks like TensorFlow Lite to leverage dedicated hardware accelerators, such as DSPs and NPUs, for faster and more efficient inference. This is a big deal for running ML models for image recognition, translation, and other tasks directly on the device without a network connection. In practice, it means your ML-powered apps can be more responsive and power-efficient.

How did Android 8.1 improve the Autofill framework?

Android 8.1 added several key APIs to give Autofill service developers more control and context. The getAutofillOptions() method allows you to provide custom suggestions for fields like credit card expiration dates. Services can also use the isVisibleToUser() view property to better determine which views are eligible for autofill, making the service smarter and more reliable. These changes matter because they directly impact the user's perception of how well your password manager or autofill service works.

What are the memory optimizations for Android Go?

Android 8.1 introduced specific features to ensure a great experience on entry-level devices with 1GB of RAM or less. The OS now actively manages memory usage more aggressively for these devices, helping apps stay in memory longer. There's also a new android:managedSpace attribute in the manifest that lets you specify the amount of managed space your app needs. This entire effort was crucial for bringing a performant Android experience to the next billion users.

How does the SharedMemory API help with performance?

The new SharedMemory API allows you to create, map, and manage an anonymous shared memory region. This lets multiple processes or apps efficiently share large amounts of data without the overhead of copying it. You can set protection on the memory (e.g., read-only) and even parcel the file descriptor to another process. For performance-critical apps, this is a lower-level tool for efficient inter-process communication (IPC) compared to traditional Binder transactions.

What changes were made to notifications?

Android 8.1 gave users more granular control over notifications. Apps can now only set a notification's importance level once when the channel is first created; after that, the user has final say and can change it in system settings. The update also introduced a new visual effect: a slightly dimmer background when the notification shade is fully expanded. These are subtle but important changes that prioritize user preference over app requests.

FAQ

Is the Neural Networks API a replacement for ML frameworks like TensorFlow?
No. The NNAPI is a backend layer. Developers typically use higher-level frameworks (e.g., TensorFlow Lite, Caffe2) which then use the NNAPI to delegate computations to capable hardware drivers, if available.

Do I need to do anything for my app to work on Android Go devices?
While optimized to run, you should actively test your app on a low-RAM device or emulator profile. Pay special attention to your memory footprint and consider using the android:managedSpace attribute if your app caches large amounts of data.

Can I change my notification channel's importance after creating it?
No. In Android 8.1, the importance level can only be set programmatically when the channel is first created. Once created, only the user can change the importance level through system settings.

What is the practical use of the SharedMemory API?
It's for advanced use cases where you need to share large buffers (like bitmap data or sensor data) between processes with minimal latency and overhead, such as between a camera service and a image processing app.

Were there any WebView security updates?
Yes. Android 8.1 enabled the same WebView Safe Browsing protections that were available in Chrome. This allows your app's WebView to display a warning to users when they attempt to navigate to a known dangerous site.

Releases In Branch Android 8.1

VersionRelease date
8.1.0_r8107 Aug 2020
(5 years ago)
8.1.0_r8030 Jun 2020
(5 years ago)
8.1.0_r7904 Jun 2020
(6 years ago)
8.1.0_r7808 May 2020
(6 years ago)
8.1.0_r7701 May 2020
(6 years ago)
8.1.0_r7628 Apr 2020
(6 years ago)
8.1.0_r7506 Feb 2020
(6 years ago)
8.1.0_r7410 Jan 2020
(6 years ago)
8.1.0_r7316 Dec 2019
(6 years ago)
8.1.0_r7208 Nov 2019
(6 years ago)
8.1.0_r7108 Oct 2019
(6 years ago)
8.1.0_r7019 Sep 2019
(6 years ago)
8.1.0_r6907 Aug 2019
(6 years ago)
8.1.0_r6723 Jul 2019
(6 years ago)
8.1.0_r6811 Jul 2019
(6 years ago)
8.1.0_r6610 Jun 2019
(6 years ago)
8.1.0_r6516 Apr 2019
(7 years ago)
8.1.0_r6413 Mar 2019
(7 years ago)
8.1.0_r6316 Jan 2019
(7 years ago)
8.1.0_r6216 Jan 2019
(7 years ago)
8.1.0_r6107 Dec 2018
(7 years ago)
8.1.0_r6019 Oct 2018
(7 years ago)
8.1.0_r5319 Oct 2018
(7 years ago)
8.1.0_r5219 Oct 2018
(7 years ago)
8.1.0_r5128 Sep 2018
(7 years ago)
8.1.0_r5028 Sep 2018
(7 years ago)
8.1.0_r4830 Aug 2018
(7 years ago)
8.1.0_r4730 Aug 2018
(7 years ago)
8.1.0_r4610 Aug 2018
(7 years ago)
8.1.0_r4503 Aug 2018
(7 years ago)
8.1.0_r4320 Jul 2018
(7 years ago)
8.1.0_r4220 Jul 2018
(7 years ago)
8.1.0_r4011 Jun 2018
(7 years ago)
8.1.0_r3611 Jun 2018
(7 years ago)
8.1.0_r3904 Jun 2018
(8 years ago)
8.1.0_r3804 Jun 2018
(8 years ago)
8.1.0_r3504 Jun 2018
(8 years ago)
8.1.0_r4125 May 2018
(8 years ago)
8.1.0_r3725 May 2018
(8 years ago)
8.1.0_r3308 May 2018
(8 years ago)
8.1.0_r3108 May 2018
(8 years ago)
8.1.0_r3208 May 2018
(8 years ago)
8.1.0_r3008 May 2018
(8 years ago)
8.1.0_r2917 Apr 2018
(8 years ago)
8.1.0_r2813 Apr 2018
(8 years ago)
8.1.0_r2713 Apr 2018
(8 years ago)
8.1.0_r2613 Apr 2018
(8 years ago)
8.1.0_r2513 Apr 2018
(8 years ago)
8.1.0_r2015 Mar 2018
(8 years ago)
8.1.0_r2326 Feb 2018
(8 years ago)
8.1.0_r2216 Feb 2018
(8 years ago)
8.1.0_r2116 Feb 2018
(8 years ago)
8.1.0_r1909 Feb 2018
(8 years ago)
8.1.0_r1825 Jan 2018
(8 years ago)
8.1.0_r1725 Jan 2018
(8 years ago)
8.1.0_r1625 Jan 2018
(8 years ago)
8.1.0_r1525 Jan 2018
(8 years ago)
8.1.0_r1404 Jan 2018
(8 years ago)
8.1.0_r803 Jan 2018
(8 years ago)
8.1.0_r1315 Dec 2017
(8 years ago)
8.1.0_r1214 Dec 2017
(8 years ago)
8.1.0_r1114 Dec 2017
(8 years ago)
8.1.0_r1014 Dec 2017
(8 years ago)
8.105 Dec 2017
(8 years ago)
8.1.0_r929 Nov 2017
(8 years ago)
8.1.0_r729 Nov 2017
(8 years ago)
8.1.0_r628 Nov 2017
(8 years ago)
8.1.0_r528 Nov 2017
(8 years ago)
8.1.0_r428 Nov 2017
(8 years ago)
8.1.0_r328 Nov 2017
(8 years ago)
8.1.0_r203 Nov 2017
(8 years ago)
8.1.0_r102 Nov 2017
(8 years ago)