compileSdkVersion,targetSdkVersion和minSdkVersion

compileSdkVersion

android项目编译时使用的sdk版本,建议使用最新的sdk版本,可以兼容最新版本的API。

假如方法Aapi29才出现,当设置compileSdkVersion<29时,是无法使用到方法A的。

miniSdkVersion

App安装时要求的设备的最低android版本。低于该版本,无法安装。

另外,在代码中,会根据miniSdkVersion来提示某个api方法是否过期。

比如:api15的方法A,在miniSdkVersion>15时,会被提示已过期,但是仍然可用。

maxSdkVersion:如果设置了这个属性,当设备的android版本高于maxSdkVersion,无法安装应用。不推荐设置这个属性。

targetSdkVersion

一个用于指定应用的目标API级别的整数。如果未设置,默认与miniSdkVersion相同。

该属性用于通知系统,您已针对目标版本进行测试,并且系统不应通过启用任何兼容性行为,以保持您的应用与目标版本的向前兼容性。应用仍可在较低版本上运行。

如果平台的 API 级别高于应用 targetSdkVersion 所声明的版本,系统便可通过启用兼容性行为,确保应用继续以您所期望的方式工作(即应用的外观和行为保持为targetSdkVersion)。

一般来说, miniSdkVersion要低于 targetSdkVersion

buildToolsVersion

这个已不推荐使用了,不做介绍。

什么是向前兼容和向后兼容?

向前兼容是兼容最新版本的API,建议将compileSdkVersion调整为最新。

向后兼容是兼容旧版本的API。建议指定miniSdkVersion和targetSdkVersion。

Build.VERSION.SDK_INT

这个是当前硬件设备的android版本。

参考官方文档

官方文档

android API差异化报告

你可能感兴趣的:(android)