Latest development in branch Android 10
10.0.0_r46
Released 07 Aug 2020
(5 years ago)
SoftwareAndroid OS
BranchAndroid 10
Security supportNo
Initial release10
03 Sep 2019
(6 years ago)
Latest release10.0.0_r46
07 Aug 2020
(5 years ago)
Android API version29
CodenameQuince Tart
Active start03 Sep 2019
(Started 6 years ago)
Source codehttps://android.googlesource.com/platform/frameworks/base/+/android-10.0.0_r46
Documentationhttps://developer.android.com/about/versions/10
Android OS Android 10 ReleasesView full list

What Is New in Android 10

Android 10 introduced a major shift towards user privacy, security, and a more immersive experience. The update brought system-wide dark mode, enhanced location controls, and new gestures for navigation.

Category Key Changes
Privacy & Security Scoped Storage, Enhanced location permissions, Background activity restrictions
User Experience System-wide Dark Theme, Gesture Navigation, Focus Mode
New APIs & Technologies Live Caption, Smart Reply, Bubbles, Foldable support
Security Updates Project Mainline updates via Google Play
Behavior Changes Non-SDK interface restrictions, Background access limits

How did Android 10 change app privacy?

Android 10 put user privacy front and center with stricter controls over what data apps can access. The most significant change was the introduction of Scoped Storage, which limits an app's access to the shared storage to its own directory and specific media types without permissions.

Location permissions were also revamped. Users can now grant an app access to their location only while the app is in use, a setting that developers must handle gracefully. This matters because it forces apps to be more transparent about data collection and to function with minimal permissions.

What new user features did Android 10 introduce?

The most visible user feature was the system-wide Dark Theme, which could be triggered by a quick settings tile and applied to the system UI and supporting apps. This was a long-requested feature that reduces eye strain and saves battery on OLED displays.

Gesture Navigation replaced the traditional three-button system with a single bar, allowing users to swipe to go home, switch apps, or go back. Features like Live Caption used on-device ML to automatically caption media, and Smart Reply provided context-aware responses in notifications.

How did Android 10 improve security for users?

Android 10 launched Project Mainline, a fundamental shift in how the OS is updated. It allows Google to push critical security and privacy fixes directly to users via Google Play, bypassing carrier and OEM delays for core OS components.

This modular approach meant that vulnerabilities in areas like the Media Framework, DNS resolver, and security could be patched quickly for all compatible devices. In practice, this drastically improved the security posture of the entire Android ecosystem.

What were the key developer-facing changes?

For developers, the biggest adjustments came from the new privacy restrictions. Adapting to Scoped Storage required significant changes for any app that accessed shared files. The new background location access permission also needed explicit handling to avoid breaking functionality.

Android 10 also tightened restrictions on non-SDK interfaces. Many hidden APIs that developers had been using through reflection were now blocked, pushing everyone to use the official, public SDK. This was a move to improve platform stability but broke some existing apps.

FAQ

What is Scoped Storage and why was it introduced?
Scoped Storage is a new storage model that limits app access to external storage. Instead of having broad access, an app has its own isolated storage sandbox and can only access specific types of public media (photos, music, videos) without requesting permissions. It was introduced to protect user privacy and reduce file clutter.

How do I handle the new background location permission?
You must request the ACCESS_BACKGROUND_LOCATION permission separately from the foreground permission. Before requesting it, check if your app's functionality truly requires constant location access. The system will present a special dialog to the user, and they are more likely to deny permission if the use case isn't clear.

What are the alternatives to using restricted non-SDK interfaces?
Google provides a list of public SDK alternatives for many commonly used non-SDK interfaces. You should audit your code for usage of reflection and @hide APIs and replace them with the official public APIs. If no alternative exists, you can file a feature request.

My app uses a lot of background activity, what changed?
Android 10 further restricted background activity to improve battery life. Apps cannot start activities from the background. You should use high-priority notifications or system alerts to grab user attention instead of launching an activity directly.

How do I support the new gesture navigation in my app?
To ensure your app works well with gestures, you should use edge-to-edge rendering. This involves setting transparent system bars and handling any insets properly so that your content isn't obscured by the gesture bar. The WindowInsets API is key for this.

Releases In Branch Android 10

VersionRelease date
10.0.0_r4607 Aug 2020
(5 years ago)
10.0.0_r4707 Aug 2020
(5 years ago)
10.0.0_r4511 Jun 2020
(5 years ago)
10.0.0_r4411 Jun 2020
(5 years ago)
10.0.0_r4110 Jun 2020
(5 years ago)
10.0.0_r4328 Apr 2020
(6 years ago)
10.0.0_r4228 Apr 2020
(6 years ago)
10.0.0_r4008 Apr 2020
(6 years ago)
10.0.0_r3908 Apr 2020
(6 years ago)
10.0.0_r3708 Apr 2020
(6 years ago)
10.0.0_r3808 Apr 2020
(6 years ago)
10.0.0_r3601 Apr 2020
(6 years ago)
10.0.0_r3501 Apr 2020
(6 years ago)
10.0.0_r3401 Apr 2020
(6 years ago)
10.0.0_r3302 Mar 2020
(6 years ago)
10.0.0_r3212 Jan 2020
(6 years ago)
10.0.0_r3112 Jan 2020
(6 years ago)
10.0.0_r3012 Jan 2020
(6 years ago)
10.0.0_r2918 Dec 2019
(6 years ago)
10.0.0_r2818 Dec 2019
(6 years ago)
10.0.0_r2718 Dec 2019
(6 years ago)
10.0.0_r2618 Dec 2019
(6 years ago)
10.0.0_r2516 Nov 2019
(6 years ago)
10.0.0_r2416 Nov 2019
(6 years ago)
10.0.0_r2316 Nov 2019
(6 years ago)
10.0.0_r2116 Nov 2019
(6 years ago)
10.0.0_r2216 Nov 2019
(6 years ago)
10.0.0_r2008 Nov 2019
(6 years ago)
10.0.0_r1529 Oct 2019
(6 years ago)
10.0.0_r1629 Oct 2019
(6 years ago)
10.0.0_r1725 Oct 2019
(6 years ago)
10.0.0_r1916 Oct 2019
(6 years ago)
10.0.0_r1816 Oct 2019
(6 years ago)
10.0.0_r1430 Sep 2019
(6 years ago)
10.0.0_r927 Sep 2019
(6 years ago)
10.0.0_r1320 Sep 2019
(6 years ago)
10.0.0_r1220 Sep 2019
(6 years ago)
10.0.0_r1020 Sep 2019
(6 years ago)
10.0.0_r1120 Sep 2019
(6 years ago)
10.0.0_r516 Sep 2019
(6 years ago)
10.0.0_r416 Sep 2019
(6 years ago)
10.0.0_r311 Sep 2019
(6 years ago)
1003 Sep 2019
(6 years ago)
10.0.0_r828 Aug 2019
(6 years ago)
10.0.0_r723 Aug 2019
(6 years ago)
10.0.0_r214 Aug 2019
(6 years ago)
10.0.0_r608 Aug 2019
(6 years ago)
10.0.0_r108 Aug 2019
(6 years ago)