compileSdkVersion、buildeToolVersion、minSdkVersion、targetSdkVersion的理解

本文深入解析Android开发中compileSdkVersion、buildeToolVersion、minSdkVersion及targetSdkVersion的作用与区别。compileSdkVersion用于指定编译时使用的SDK版本,推荐设置为最新版本以尽早采用新特性;buildeToolVersion则是构建工具版本,需大于等于compileSdkVersion;minSdkVersion确保应用仅在指定最低版本以上的系统运行;targetSdkVersion决定应用在高版本系统上运行时的行为,维持目标版本特性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

compileSdkVersion
只会作用在编译阶段,编译的时候使用哪个版本的SDK,一般我们都会设置成目前市面上的最高版本,从而更早的采用一些新特性新方法等。
需要注意的是v4、v7、cardview等兼容包的版本要和compileSdkVersion的保持一致,比如我们compileSdkVersion = 26,那么V4,v7的版本也要相应的是26.xx.xx,首位的26必须一致,后两位没有要求。
buildeToolVersion
是你构建工具的版本,其中包括了打包工具aapt、dx等等。这个工具的目录位于..your_sdk_path/build-tools/XX.XX.XX,
Android Studio可以通过SDK Manager --> SDK Tools下载。
buildeToolVersion版本需要>=compileSdkVersion版本

minSdkVersion
这个比较好理解,例如minSdkVersion是21(5.0),则这个apk只能运行在5.0系统或者以上,5.0以下的系统运行不了。


targetSdkVersion
targetSdkVersion 是 Android 系统提供前向兼容的主要手段(即:新版本SDK手机兼容旧版本SDK工程)
例如你的apk的targetSdkVersion是22(Android5.1),然后这个apk安装到Android6.0或更高系统的手机上,则系统会保留你在Android5.1上的特性,不会使用高版本系统的特性,例如不会对你的apk采用运行时权限的功能。
也就是说在高版本的手机上只保留你targetSDK的特性,高本版手机的新增特性不会作用到你的apk上。系统会根据targetSdkVersion的值决定采用哪个版本的API,这也是市面上的新系统的手机一般来说能运行所有已存在的Android应用的原因(向下兼容)。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值