Android中compileSdk,minSdk,targetSdk的含义和区别

应用的模块级 build 文件包含一些设置,用于指示编译时使用的 Android SDK 版本、选择平台行为以及指定应用运行的最低版本。

compileSdk

compileSdk 决定了在编译源代码时可用的 Android 和 Java API。如需使用最新的 Android 功能,请在编译时使用最新的 Android SDK。某些 Android 平台 API 可能无法在旧版 API 级别中使用。您可以有条件地保护对新功能的使用,也可以使用 AndroidX 兼容性库,以便在较低的 Android API 级别中使用新功能。

minSdk

minSdk 用于指定您希望应用支持的最低 Android 版本。设置 minSdk 可限制哪些设备可以安装您的应用。

targetSdk

targetSdk 有以下两种用途:

  1. 它用于设置应用的运行时行为。
  2. 用于证明您已针对哪个 Android 版本进行测试。

如果您在搭载的 Android 版本高于 targetSdk 的设备上运行应用,Android 会以兼容模式运行您的应用,该模式的行为方式与 targetSdk 中指示的较低版本类似。例如,当 API 23 引入运行时权限模型时,并非所有应用都已准备好立即采用该模型。通过将 targetSdk 设置为 22,这些应用可以在 API 23 设备上运行,而无需使用运行时权限,并且可以使用最新 compileSdk 版本中包含的功能。Google Play 分发政策会针对目标 API 级别强制执行其他政策

targetSdk 的值必须小于或等于 compileSdk 的值。

相关推荐
2501_915918411 小时前
HTTPS 端口号详解 443 端口作用、iOS 抓包方法、常见 HTTPS 抓包工具与网络调试实践
android·网络·ios·小程序·https·uni-app·iphone
程序员码歌1 小时前
明年35岁了,如何破局?说说心里话
android·前端·后端
非门由也3 小时前
Android studio安装教程——超详细(含安装包安装教程)
android·ide·android studio
平淡风云3 小时前
Android应用添加日历提醒功能
android·日历
骐骥14 小时前
2025-09-08升级问题记录:app提示“此应用专为旧版Android打造..”或“此应用与最新版 Android 不兼容”
android·升级·不兼容·target sdk·专为旧版 android 系统
Zender Han5 小时前
Flutter 视频播放器——flick_video_player 介绍与使用
android·flutter·ios·音视频
尚久龙6 小时前
安卓学习 之 用户登录界面的简单实现
android·运维·服务器·学习·手机·android studio·安卓
Modu_MrLiu6 小时前
Android实战进阶 - 启动页
android·实战进阶·启动页·倒计时场景
出门吃三碗饭7 小时前
编译器构造:从零手写汇编与反汇编程序(一)
android·汇编
Just_Paranoid7 小时前
【WorkManager】无法在 Direct Boot 模式下初始化
android·jetpack·usermanager·workmanager·directboot