我compiledSdkVersion
在以前的答案中看到了很多不同之处,因此,我将在android的网页之后尝试在此处进行澄清。
A-Android怎么说
根据https://developer.android.com/guide/topics/manifest/uses-sdk-element.html:
选择平台版本和API级别开发应用程序时,需要选择编译应用程序所依据的平台版本。通常,应根据应用程序可以支持的平台的最低版本来编译应用程序。
因此,根据Android,这将是正确的顺序:
compiledSdkVersion = minSdkVersion <= targetSdkVersion
B-其他人也说
有些人更喜欢始终使用可用的最高已编译SkdVersion。这是因为它们将依靠代码提示来检查它们是否正在使用比minSdkVersion更高的API功能,因此可以更改代码以使其不使用它们,或者在运行时检查用户API版本以有条件地将它们与回退以用于较旧的API版本。
有关不推荐使用的提示也会出现在代码中,让您知道某些新API级别不推荐使用的东西,因此您可以根据需要做出相应的反应。
因此,这将是其他人的正确命令:
minSdkVersion <= targetSdkVersion <= compiledSdkVersion (highest possible)
该怎么办?
这取决于您和您的应用程序。
如果您打算在运行时根据用户的API级别提供不同的API功能,请使用选项B。您将获得有关在编码时使用的功能的提示。只要确保在运行时不检查用户API级别,就不要使用比minSdkVersion更高的API功能,否则您的应用程序将崩溃。这种方法还具有在编码时学习新功能和旧功能的好处。
如果您已经知道新功能或旧功能,并且正在开发一次肯定不会更新的一次性应用程序,或者您确定不会有条件地提供新的API功能,那么请使用选项A。使用不建议使用的提示,即使您很想这样做,也将永远无法使用较新的API功能。