Android · 开发
Android API Level 对照表
从 Android 1.0 到 Android 17,汇总版本名称、官方 SDK 标识、API Level 与首次公开发布时间。
开发 Android 应用时,minSdk、targetSdk 和 compileSdk 最终都会落到 API Level。系统名称、甜点代号和 API Level 并不总是能直接互推;需要排查兼容性或选择 SDK 时,一张准确的对照表会方便许多。
本文以首次公开发布日为准,整理截至 2026-09-21 的 Android 平台版本。表中的 SDK 标识对应 Android 官方 Build.VERSION_CODES 常量;它与对外版本名称、历史资料中的内部代号并不是同一个概念。
对照表
| Android 版本 | 版本名称 | API Level | SDK 标识 | 首次公开发布时间 |
|---|---|---|---|---|
| Android 1.0 | Base | 1 | BASE |
2008-09-23 |
| Android 1.1 | Base 1.1 | 2 | BASE_1_1 |
2009-02-09 |
| Android 1.5 | Cupcake | 3 | CUPCAKE |
2009-04-27 |
| Android 1.6 | Donut | 4 | DONUT |
2009-09-15 |
| Android 2.0 | Eclair | 5 | ECLAIR |
2009-10-27 |
| Android 2.0.1 | Eclair | 6 | ECLAIR_0_1 |
2009-12-03 |
| Android 2.1 | Eclair | 7 | ECLAIR_MR1 |
2010-01-11 |
| Android 2.2 | Froyo | 8 | FROYO |
2010-05-20 |
| Android 2.3 | Gingerbread | 9 | GINGERBREAD |
2010-12-06 |
| Android 2.3.3 | Gingerbread | 10 | GINGERBREAD_MR1 |
2011-02-09 |
| Android 3.0 | Honeycomb | 11 | HONEYCOMB |
2011-02-22 |
| Android 3.1 | Honeycomb | 12 | HONEYCOMB_MR1 |
2011-05-10 |
| Android 3.2 | Honeycomb | 13 | HONEYCOMB_MR2 |
2011-07-15 |
| Android 4.0 | Ice Cream Sandwich | 14 | ICE_CREAM_SANDWICH |
2011-10-18 |
| Android 4.0.3 | Ice Cream Sandwich | 15 | ICE_CREAM_SANDWICH_MR1 |
2011-12-16 |
| Android 4.1 | Jelly Bean | 16 | JELLY_BEAN |
2012-07-09 |
| Android 4.2 | Jelly Bean | 17 | JELLY_BEAN_MR1 |
2012-11-13 |
| Android 4.3 | Jelly Bean | 18 | JELLY_BEAN_MR2 |
2013-07-24 |
| Android 4.4 | KitKat | 19 | KITKAT |
2013-10-31 |
| Android 4.4W | KitKat Wear | 20 | KITKAT_WATCH |
2014-06-25 |
| Android 5.0 | Lollipop | 21 | LOLLIPOP |
2014-11-04 |
| Android 5.1 | Lollipop | 22 | LOLLIPOP_MR1 |
2015-03-02 |
| Android 6.0 | Marshmallow | 23 | M |
2015-09-29 |
| Android 7.0 | Nougat | 24 | N |
2016-08-22 |
| Android 7.1.1 | Nougat | 25 | N_MR1 |
2016-10-04 |
| Android 8.0 | Oreo | 26 | O |
2017-08-21 |
| Android 8.1 | Oreo | 27 | O_MR1 |
2017-12-05 |
| Android 9 | Pie | 28 | P |
2018-08-06 |
| Android 10 | Android 10 | 29 | Q |
2019-09-03 |
| Android 11 | Android 11 | 30 | R |
2020-09-08 |
| Android 12 | Android 12 | 31 | S |
2021-10-04 |
| Android 12L(12.1) | Android 12L | 32 | S_V2 |
2022-03-07 |
| Android 13 | Android 13 | 33 | TIRAMISU |
2022-08-15 |
| Android 14 | Android 14 | 34 | UPSIDE_DOWN_CAKE |
2023-10-04 |
| Android 15 | Android 15 | 35 | VANILLA_ICE_CREAM |
2024-09-03 |
| Android 16 | Android 16 | 36 | BAKLAVA |
2025-06-10 |
| Android 16 QPR2 | Android 16 QPR2 | 36.1 | BAKLAVA(minor API 1) |
2025-12-02 |
| Android 17 | Android 17 | 37 | CINNAMON_BUN |
2026-06-16 |
几个容易混淆的地方
- Base 是官方 SDK 标识。 Android 1.0 和 Android 1.1 分别对应
BASE、BASE_1_1;不要把这两个常量与版本对外名称或历史内部代号混为一谈。 - 版本名称与 SDK 标识不一定相同。 例如 Android 8.0 的版本名称是 Oreo,对应的 SDK 标识是
O;Android 10 起,Google 对外改用数字命名,但 SDK 标识仍保留字母或甜点名称。 - Android 16 有 36.1 这个小版本 API。 Android 16 QPR2 在 API 36 基础上新增了 minor API level 1。使用该 SDK 时,Android Gradle Plugin 的配置形式为
release(36) { minorApiLevel = 1 },不是一个新的整数compileSdk值。 - Android 12L 仍属于 Android 12。 它在设备“关于手机”页面通常显示为 Android 12,发布镜像与 API 对应关系中常记为 12.1 / API 32。
在项目中如何使用
minSdk:应用能够安装和运行的最低 API Level。targetSdk:应用声明已适配的 API Level,会影响系统对部分兼容性行为的处理。compileSdk:编译时使用的 SDK API Level;通常应尽量跟进稳定的最新版本。
运行时兼容性判断应使用 Build.VERSION.SDK_INT 与 Build.VERSION_CODES,而不是解析 Android 版本字符串。API Level 是面向开发者的稳定契约,而厂商系统的版本显示可能包含额外定制。