Android 版本与 API 级别对照速查表
很多开发者第一次打开 Android Studio 的「Project Structure」时,都会被 compileSdkVersion、minSdkVersion、targetSdkVersion 三个输入框搞得头大。
更可怕的是,Google 官方文档里一会儿说「Android 14」,一会儿又说「API 34」,到底谁对应谁?
本文将用「一张表 + 一张图」彻底解决这个世纪难题,并告诉你:
- 每个 Android 版本到底对应哪个 API Level
- 如何根据 Google Play 政策 选择最合适的值
- 常见踩坑与排查清单
一、速查表:Android 版本 ↔ API Level(2025 最新)
Android 市场名称 | 内部代号 | API Level | VERSION_CODE | 发布年份 | 备注 |
---|---|---|---|---|---|
Android 16 | Baklava | 36 | BAKLAVA | 2025 | 开发者预览版 |
Android 15 | Vanilla Ice Cream | 35 | VANILLA_ICE_CREAM | 2024 | 正式版 |
Android 14 | Upside Down Cake | 34 | UPSIDE_DOWN_CAKE | 2023 | 当前主流 |
Android 13 | Tiramisu | 33 | TIRAMISU | 2022 | |
Android 12L / 12.1 | S_V2 | 32 | S_V2 | 2022 | 大屏优化 |
Android 12 | Snow Cone | 31 | S | 2021 | |
Android 11 | Red Velvet Cake | 30 | R | 2020 | |
Android 10 | Quince Tart | 29 | Q | 2019 | |
Android 9 | Pie | 28 | P | 2018 | |
Android 8.1 | Oreo MR1 | 27 | O_MR1 | 2017 | |
Android 8.0 | Oreo | 26 | O | 2017 | |
Android 7.1 | Nougat MR1 | 25 | N_MR1 | 2016 | |
Android 7.0 | Nougat | 24 | N | 2016 | |
Android 6.0 | Marshmallow | 23 | M | 2015 | |
Android 5.1 | Lollipop MR1 | 22 | LOLLIPOP_MR1 | 2015 | |
Android 5.0 | Lollipop | 21 | LOLLIPOP | 2014 | |
Android 4.4 | KitKat | 19 | KITKAT | 2013 | |
Android 4.3 | Jelly Bean MR2 | 18 | JELLY_BEAN_MR2 | 2013 |
完整表格见官方文档:uses-sdk#ApiLevels
二、一张图读懂三件套:minSdk / targetSdk / compileSdk
┌─────────────────────────────────────────────┐
│ 设备系统版本 = 26 (Android 8.0) │
│ │
│ App 配置: │
│ minSdk = 24 ✅ 可安装 │
│ targetSdk = 34 ✅ 以 14 行为运行 │
│ compileSdk = 34 ✅ 编译期可调 34 的 API │
└─────────────────────────────────────────────┘
- minSdkVersion 低 → 用户多,但新 API 要手写兼容。
- targetSdkVersion 高 → 获得最新系统行为,但要适配隐私变更。
- compileSdkVersion ≥ targetSdkVersion,否则编译不过。
三、Google Play 时间表:你不得不跟的节奏
时间节点 | 政策要求 | 建议 action |
---|---|---|
2024-08-31 | 新应用 targetSdk ≥ 34 (Android 14) | 现在就把 targetSdk 升到 34 |
2025-08-31 | 现有应用 targetSdk ≥ 35 (Android 15) | 提前半年做兼容性测试 |
四、实战:10 秒修改版本号
1. 图形化(新手向)
File → Project Structure → Modules → app → Properties → 下拉框选择 → Apply → Sync
2. 代码化(进阶向)
app/build.gradle.kts
android {compileSdk = 34defaultConfig {minSdk = 24targetSdk = 34}
}
Sync & Rebuild,一气呵成。
五、常见坑 & 排查清单
错误提示 | 原因 | 解决 |
---|---|---|
Call requires API level 30 (current min is 24) | 在 minSdk 24 设备上调用了 30 的 API | 加 @RequiresApi(30) 或做版本判断 |
INSTALL_FAILED_OLDER_SDK | minSdkVersion > 设备系统版本 | 降低 minSdk 或换机 |
Gradle sync failed: compileSdkVersion not specified | 没写 compileSdk | 补上即可 |
结语
把本文的速查表收藏到浏览器书签栏,下次再也不用满世界搜「Android 8.0 到底是 26 还是 27」了!