当前位置: 首页 > 知识库问答 >
问题:

编译的sdk应该低于目标sdk

盖晋
2023-03-14

关于SO的压倒性建议是编译SDK通常应该与目标SDK匹配。

  • https://stackoverflow.com/A/27629181/360211

同样,最好让[compileSdk]与您的目标sdk版本相匹配。

    null

共有1个答案

宿鹏程
2023-03-14

关于SO的压倒性建议是编译SDK通常应该与目标SDK匹配。

真的吗?我预计除了新创建的项目之外,几乎没有Android应用程序会被如此配置,因为新项目的向导们倾向于为这些应用程序设置相同的值。

让它们相配有什么坏处

如今,几乎没有什么优势,伊霍。

回到2008-2011年,一个常见的(尽管有缺陷)建议是让compilesdkversion匹配minsdkversion(或者,事实上,它们的Eclipse/Ant等价物,因为那时Android Studio还不存在)。这是因为我们缺乏工具来自动告诉我们是否使用了在CompilesDKVersion中有效但在MinSDKVersion中不可用的东西(例如,11)。如果将这两个值设置为相等,则意味着如果尝试使用比minSDKversion更新的东西,则会出现编译器错误。缺点是,您只能使用minSDKversion中的功能集,无法逐步增强应用程序以利用更新设备上的更新功能。

现在,如果您尝试使用在compilesdkversion中有效但在返回minsdkversion时却不可用的东西,那么构建工具(特别是Lint)会对您大喊大叫,因此您知道要放入适当的build.version.sdk_int检查,以确保您只在较新的设备上使用较新的东西,而在较旧的设备上使用较新的东西。

 类似资料: