minSdkVersion、compileSdkVersion、targetSdkVersion Android

 

minSdkVersion 字面意思,应用能支持的最低SDK版本。也就是应用可以运行的最低要求,为的是尽量覆盖最多的人群。如何合理的设置这个值,可以查看目前不同版本的android设备的市场占有率。
查看地址:https://developer.android.google.cn/about/dashboards/
注意你项目中使用的库,他们可能有自己的minSdkVersion m,你的应用设置的minSdkVersion必须大于等于这些库的minSdkVersion。

 

Android版本与SDK/API版本、JDK对应关系

https://blog.csdn.net/qq_42690281/article/details/131640670

比如  minSdkVersion 24 对应Android 7.0 以上  需要开发环境 jdk8 以上

 

targetSdkVersion
targetSdkVersion 能够使用的最高SDK版本。以下两个场景用于加强理解。

场景一:比如说你现在的targetSdkVersion是20(Android4.4),现在想在项目里使用Materal Design风格的一些控件,这个新特性是在Android 5.0增加的,这样你就要把targetSdkVersion设置为21(Android5.0)。

场景二:targetSdkVersion 23(Android 6.0)时,新增了运行时权限概念。Android6.0之前,在清单文件中列出权限后,在应用安装时给出声明权限列表,用户只能全部接受或者全部拒绝(拒绝系统不会安装应用)。Android6.0开始,清单文件中列出权限后,还必须在运行时请求所需要的每项危险权限。用户可以授权或拒绝,即使拒绝权限,应用仍然可以继续运行有限功能。如果你的项目targetSdkVersion小于23,那么系统就不会应用最新的变化。也就是说,即使你需要一些危险权限,仍不需要运行时请求授权,只要在清单文件中列出就可以。

如果你的compileSdkVersion设置的是23或23以上,你就可以使用新的API先适应一下这种新的变化。可以在你适应了之后就把targetSdkVersion升级。也就是在介绍compileSdkVersion时候提到的,为使用新的API做准备。

 

综上来看,三者值的关系是:

minSdkVersion<=targetSdkVersion<=compileSdkVersion

 

转自:

https://blog.csdn.net/lidayingyy/article/details/106084354

posted @ 2024-05-29 09:07  黄增松  阅读(248)  评论(0编辑  收藏  举报