Android 各版本适配总结(targetSdk)
整理日期:2026-07-30
范围:Android 8(API 26)→ Android 17(API 37)
说明:以下为升targetSdkVersion后的关键行为变更与适配要点;跑在新系统上但未升 target 时,仍需对照「所有应用」行为变更做兼容测试。
官方入口:Versions · Play target API
0. 速查表
| 版本 | API | 代号/备注 | 适配关键词(升 target 后) |
|---|---|---|---|
| Android 8.0/8.1 | 26/27 | Oreo | 通知渠道、后台执行限制、隐式广播限制 |
| Android 9 | 28 | Pie | 明文 HTTP 默认禁止、非 SDK 限制、前台服务通知 |
| Android 10 | 29 | Q | 分区存储(可选强制)、后台定位、设备标识、手势导航 |
| Android 11 | 30 | R | 强制分区存储、软件包可见性、后台定位分步授权 |
| Android 12 / 12L | 31/32 | S | exported必填、PendingIntent 可变性、精确闹钟、FGS 启动限制 |
| Android 13 | 33 | T | 通知运行时权限、媒体细分权限、附近设备权限 |
| Android 14 | 34 | U | FGS 类型必填、动态广播导出标志、隐式 Intent 限制 |
| Android 15 | 35 | V | 强制边到边、FGS 超时、屏幕分享部分共享 |
| Android 16 | 36 | Baklava | 边到边不可 opt-out、预测性返回默认、大屏限制可临时 opt-out |
| Android 17 | 37 | — | 大屏限制永久生效、局域网权限、CT 默认开、MessageQueue 无锁 |
1. Google Play 目标 API 要求(截至 2026)
| 场景 | 要求 |
|---|---|
| 新应用 / 更新提交 | 2026-08-31起须targetSdk ≥ 36(Android 16) |
| 已上架应用对新用户可见 | 须targetSdk ≥ 35(Android 15),否则仅对「系统版本 ≤ 你的 target」设备可见 |
| Wear / Automotive | 更新可仍为 API 35+ |
| TV / XR | 可为 API 34+ |
| 延期 | Play Console 可申请延长至约2026-11-01(以控制台为准) |
| Android 17 | 预计2027 年中起要求 target 37(以官方公告为准) |
优缺点(跟进最高 target):
| 优点 | 满足上架与分发;获得系统新能力与安全默认值;减少老旧行为技术债 |
| 缺点 | 每升一级都有 breaking change;大屏/边到边/权限改造成本高;依赖三方 SDK 进度 |
2. Android 8(API 26/27)— Oreo
关键变更
- 通知渠道(NotificationChannel):未创建渠道则通知可能不展示
- 后台执行限制:隐式广播大量禁用;后台服务受限,改用
JobScheduler/WorkManager/ FGS - 后台位置:更严格的后台定位限制
- 自适应图标、多窗口相关行为
适配要点
- 为所有通知创建 Channel
- 后台任务迁到 WorkManager / JobScheduler
- 静态注册的隐式广播改为显式或动态注册(例外除外)
3. Android 9(API 28)— Pie
关键变更
- 明文流量默认禁止:
usesCleartextTraffic=false;需 HTTP 时用 Network Security Config - 前台服务:启动 FGS 必须显示通知
- 非 SDK 接口限制正式推进
- Apache HTTP client从 bootclasspath 移除(需依赖或迁移)
适配要点
- HTTPS 优先;明文域名白名单写进 network_security_config
- 排查反射/私有 API
- FGS 通知合规
4. Android 10(API 29)— Q
关键变更
- 分区存储(Scoped Storage):按 target 逐步收紧(完整强制在 11)
- 后台启动 Activity大幅限制
- 后台定位需
ACCESS_BACKGROUND_LOCATION - 设备唯一标识:IMEI/序列号等受限,改用可重置 ID / SSAID 等策略
- 活动识别需
ACTIVITY_RECOGNITION - 手势导航与边衬区冲突处理
- 全屏 Intent需
USE_FULL_SCREEN_INTENT
适配要点
- 文件访问改 MediaStore / SAF / 应用专属目录
- 后台勿随意
startActivity - 定位分前台/后台申请;合规说明用途
5. Android 11(API 30)— R
关键变更
- 强制分区存储:外部存储仅应用专属目录 + 自身创建的媒体等
- 软件包可见性:查询已安装应用需
<queries>或可见性例外 - 后台定位:须先获前台定位,再跳转设置授予后台
- 权限自动重置:长期未使用应用敏感权限被收回
- APK Signature Scheme v2成为必要(建议同时保留 v1)
适配要点
- 去掉对任意路径
File直读外置存储的依赖 - Manifest 声明
<queries>(调起微信/支付宝/地图等) - 后台定位引导流程符合政策
6. Android 12 / 12L(API 31/32)— S
关键变更
android:exported必填:含 Intent Filter 的组件必须显式声明- PendingIntent 可变性:须指定
FLAG_IMMUTABLE或FLAG_MUTABLE - 精确闹钟:
SCHEDULE_EXACT_ALARM/ 后续特殊权限策略 - 后台启动 FGS进一步限制
- 近似位置:申请精确定位时须同时能处理仅授予粗略定位
- 蓝牙权限拆分:
BLUETOOTH_SCAN/CONNECT/ADVERTISE(部分场景) - 启动画面SplashScreen API;通知样式(自定义通知装饰)
- 12L:大屏/可折叠更好支持,多窗口行为增强
适配要点
- 全量组件补
exported - PendingIntent 全部标明可变性
- 闹钟/日历类评估精确闹钟权限
- 定位仅要精度时声明并处理 coarse-only
- 大屏做基础响应式(为 16/17 打底)
7. Android 13(API 33)— Tiramisu
关键变更
POST_NOTIFICATIONS运行时权限:未授权则无法发通知(FGS 通知在抽屉可能不可见,任务管理器仍可见)- 媒体权限细分:
READ_MEDIA_IMAGES/VIDEO/AUDIO替代宽泛存储读权限 - 附近设备:Wi‑Fi/蓝牙等更多迁到附近设备权限模型
- 广告 ID:使用广告 ID 须声明
AD_ID - ** foregound 服务与通知权限**联动体验变化
- Photo Picker鼓励替代宽权限读图
适配要点
- 合适时机申请通知权限;拒绝时降级体验
- 存储权限改为对应媒体权限或系统 Photo Picker
- 广告相关清单声明
AD_ID(或按政策移除)
8. Android 14(API 34)— UpsideDownCake
关键变更
- 前台服务类型强制:每个 FGS 必须声明
foregroundServiceType+ 对应FOREGROUND_SERVICE_*权限;startForeground传入类型 - 动态注册 BroadcastReceiver必须指定
RECEIVER_EXPORTED/RECEIVER_NOT_EXPORTED - 隐式 Intent 无法发到未导出的内部组件;对外发送更严格匹配
- 完整屏幕意图等权限进一步管控
- JobScheduler:部分网络约束需
ACCESS_NETWORK_STATE - 照片二次授权 / 部分访问(选图数量限制等,与后续版本延续)
适配要点
- 梳理所有 FGS,映射官方类型(
dataSync/mediaPlayback/location…) - Context 注册广播全部带导出标志
- 组件间通信改用显式 Intent
- 蓝牙相关 API 注意
BLUETOOTH_CONNECT等强制校验点
9. Android 15(API 35)— VanillaIceCream
关键变更
- 边到边(edge-to-edge)默认强制:内容绘制到系统栏后方;可用
windowOptOutEdgeToEdgeEnforcement临时退出(仅 35) dataSync/mediaProcessingFGS 24h 内合计约 6 小时超时,超时须stopSelf(),否则崩溃级异常BOOT_COMPLETED启动部分类型 FGS 被禁- 持有
SYSTEM_ALERT_WINDOW时启动 FGS条件更严 - 后台 Activity 启动规则再收紧
- 优雅文本高度等排版默认变化(可能影响布局)
- 屏幕共享:支持应用部分共享等隐私增强
适配要点
- 全面适配 WindowInsets / 边到边(不要依赖长期 opt-out)
dataSync/ 媒体处理改 WorkManager 或严格控时- 开机广播勿拉起受限类型 FGS
- 回归字体与高度变化导致的截断/重叠
10. Android 16(API 36)— Baklava
关键变更
- 边到边 opt-out 失效:
windowOptOutEdgeToEdgeEnforcement废弃且无效 - 预测性返回默认开启:
onBackPressed()/KEYCODE_BACK不再回调;须OnBackInvokedCallback/OnBackPressedDispatcher;可临时android:enableOnBackInvokedCallback=falseopt-out - 大屏(sw ≥ 600dp)忽略方向/可调整大小/宽高比限制(可临时opt-out,兼容模式)
- 健康/健身等更细权限与其他隐私增强(按业务查阅官方)
- 上架侧常同步要求:16KB 内存页设备兼容(NDK/so 对齐,以 Play 当期政策为准)
适配要点
- 边到边:Insets 处理到位,去掉 opt-out
- 返回键全面迁预测性返回 API
- 平板/折叠/桌面窗口:响应式布局;评估是否仍用大屏 opt-out(17 将取消)
- Native 库验证 16KB page size
Play:2026-08-31 起新应用与更新默认须 target36。
11. Android 17(API 37)
详细清单见同目录:Android17适配总结.md
关键变更(升 target 37)
| 类别 | 要点 |
|---|---|
| 大屏 | 方向/resize/宽高比限制不可再 opt-out(游戏分类可豁免) |
| 隐私 | ACCESS_LOCAL_NETWORK;SMS OTP 标准短信延迟;物理键盘密码默认不显末位 |
| 安全 | CT 默认开启;Safer Native DCL(System.load须只读);BAL 收紧 |
| 性能 | 无锁 MessageQueue(禁反射内部);static final不可再改 |
| 媒体 | 后台音频限制加强 |
| 其他 | 蓝牙 RFCOMMread()返回 -1;NPU 需声明 feature;通讯录 CP2 收紧 |
所有应用(与 target 无关,跑在 17 上)
- 跨 Profile 回环(localhost)默认阻断
usesCleartextTraffic计划废弃 → Network Security Config- 更严的应用内存限额等
适配要点
- 大屏自适应彻底落地
- 局域网 / OTP / CT / native 加载 / 后台音频逐项回归
- 去掉 MessageQueue / static final 黑科技
- CameraX ≥ 1.5.2 或 1.6.0+
12. 跨版本主题演进(便于规划)
13. 推荐升级路径(工程实践)
- 先兼容、后升 target:在目标系统真机/模拟器装现网包 → 再升
compileSdk/targetSdk - 按阶跃升级:例如 33→34→35→36→37,每级解决 FGS/边到边/大屏等「门槛变更」
- 用兼容性开关:
adb am compat enable/disable …单项验证 - 锁依赖:AndroidX、推送、支付、地图、加固/热修均需声明支持新 API
- 清单与权限审计:Merged Manifest 查三方带入的权限与 exported
最低建议基线(2026 下半年)
| 角色 | 建议 |
|---|---|
| 手机应用上架 | targetSdk 36,并启动 37 预研 |
| 内部库 / 插件 | 至少验证到 API 36/37 |
| 游戏 | 关注大屏豁免规则 + 16KB page + 多窗口 |
14. 官方文档索引
| 版本 | 行为变更(target) |
|---|---|
| 10 | https://developer.android.com/about/versions/10/behavior-changes-10 |
| 11 | https://developer.android.com/about/versions/11/behavior-changes-11 |
| 12 | https://developer.android.com/about/versions/12/behavior-changes-12 |
| 13 | https://developer.android.com/about/versions/13/behavior-changes-13 |
| 14 | https://developer.android.com/about/versions/14/behavior-changes-14 |
| 15 | https://developer.android.com/about/versions/15/behavior-changes-15 |
| 16 | https://developer.android.com/about/versions/16/behavior-changes-16 |
| 17 | https://developer.android.com/about/versions/17/behavior-changes-17 |
| Play | https://developer.android.com/google/play/requirements/target-sdk |
15. 与单版本文档关系
- 本文件:各版本横向总览 + 升级路径
- Android17适配总结.md:API 37 纵深清单与 Checklist
政策与日期以 Google Play / Android Developers 最新公告为准。