Repository navigation
Expand file tree
/
Copy pathandroid-versions.njk
More file actions
98 lines (93 loc) · 4.35 KB
/
Copy pathandroid-versions.njk
File metadata and controls
98 lines (93 loc) · 4.35 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
---
title: 'Android versions matrix'
published: '2025-10-21'
status: publish
author: 'Jason Bayton'
excerpt: ''
type: documentation
tags:
- General
layout: base.njk
eleventyNavigation:
order: 1
---
{% if androidVersions is not defined and android_versions is defined %}
{% set androidVersions = android_versions %}
{% endif %}
<p>The below provides a table of Android versions and their respective API levels, release dates, estimated OS support end dates, and Google Play services cutoffs where documented.</p>
<p>Android versions are typically supported for an average of 3 years after their initial release, though this can vary based on manufacturer and device. </p>
<div class="callout">
<strong>End of support (EOS)</strong> means Google has stopped backporting Android security fixes for that release. The OS support dates below are estimates, and device manufacturers may continue providing updates beyond them. <strong>End of life (EOL)</strong> means <a href="https://support.google.com/googleplay/answer/9037938?hl=en-GB">Google Play services</a> no longer receives updates on that Android version. Play services dates use the first day of the documented month because an exact last-update day is not available for every release. Day <code>01</code> is a placeholder. The month may mark Google's announcement, planned cutoff, or confirmation that support had ended. Sources are listed below the table.</div>
<p>Looking for minimum <code>targetSdkVersion</code> requirements? See the <a href="/android/android-minimum-targetsdk-matrix/">Android minimum target SDK matrix</a>.</p>
<p>There's a stable API for this table provided as JSON <a href="/api/android_versions.json">here</a>.
<div class="responsive-table-wrapper">
<table>
<thead>
<tr>
<th aria-label="Android icon">Icon</th>
<th>Version</th>
<th>Codename</th>
<th>API version</th>
<th>Release date</th>
<th>Status</th>
<th>OS support ended</th>
<th>Play services cutoff</th>
<th>Minor versions</th>
</tr>
</thead>
<tbody>
{% for item in androidVersions.items %}
<tr>
<td>
{% if item.icon %}
<img src="{{ item.icon }}" alt="Android {{ item.version }} icon" width="36" height="36" loading="lazy" decoding="async">
{% else %}
-
{% endif %}
</td>
<td>{{ item.version }}</td>
<td>{{ item.codename }}</td>
<td>{{ item.apiLevel }}</td>
<td>{{ item.releaseDate }}</td>
<td>
{% set s = (item.status or '') | lower %}
{% if s == 'maintained' %}
{{ item.status | capitalize }}
{% elif s in ['end-of-life','eol','end of life'] %}
<span class="text-red">{{ item.status | capitalize }}</span>
{% elif s == 'latest' %}
<span class="text-green">{{ item.status | capitalize }}</span>
{% elif item.status %}
{{ item.status | capitalize }}
{% else %}
-
{% endif %}
</td>
<td>
{% if item.eolDate %}
{{ item.eolDate }}
{% else %}
-
{% endif %}
</td>
<td>
{% if item.playServicesEnd %}
<time datetime="{{ item.playServicesEnd }}">{{ item.playServicesEnd }}</time>
{% else %}
-
{% endif %}
</td>
<td>
{% if item.minorVersions %}
{{ item.minorVersions | join(", ") }}
{% else %}
-
{% endif %}
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<p>Google Play services cutoff sources: <a href="https://android-developers.googleblog.com/2018/12/google-play-services-discontinuing.html">Android 4.0</a>, <a href="https://android-developers.googleblog.com/2021/07/google-play-services-discontinuing-jelly-bean.html">Android 4.1 to 4.3</a>, <a href="https://android-developers.googleblog.com/2023/07/google-play-services-discontinuing-updates-for-kitkat.html">Android 4.4</a>, <a href="https://9to5google.com/2024/07/11/android-lollipop-google-play-services/">Android 5</a>, and <a href="https://developers.google.com/android/management/release-notes">Android 6</a>.</p>
<p>Data sourced from <a href="https://developer.android.com/about/versions" target="_blank" rel="noopener">Android Developers</a>, <a href="https://en.wikipedia.org/wiki/Android_version_history" target="_blank" rel="noopener">Wikipedia (Android version history)</a>, and other public resources.</p>