Skip to content
阅读进度

Android 适配为什么要同时看系统版本和 targetSdk? ​

返回 Android 核心 目录

标准回答 ​

系统版本决定设备有哪些能力;targetSdk 声明应用适配到的行为模型;minSdk 是最低运行版本,compileSdk 决定编译时可见的 API。

关键机制 ​

  • 新 API 调用要判断运行系统是否支持;提高 compileSdk 并不会让低版本设备突然拥有对应方法。
  • 系统升级与提升 targetSdk 都可能改变权限、后台限制、存储、通知、组件导出等行为,要分别测试。
  • 例如目标 Android 14 及以上的前台服务要声明匹配类型和对应权限;其他前台启动与使用中权限限制也要满足。

通俗例子 ​

编译能通过的 Stream.toList 在低版本设备上不一定可直接用,要看 API 可用性及脱糖支持;不要把“能编译”当作“全机型可运行”。

易混淆点 ​

不要只测最新系统。至少覆盖最低版本、重要行为变化版本与主流 OEM;以实际支持范围建立矩阵。

参考资料 ​

内容来源 ​

用完整回答理解机制,用真实证据解释项目。