Android库应该定义targetSdkVersion吗?

Android库应该定义targetSdkVersion吗?,android,android-library,Android,Android Library,我理解为什么库定义minSdkVersion很有用,但是定义了targetSdkVersion的库会增加任何价值吗 我不确定与主项目相比,targetSdkVersions更低和更高的库是否会有任何问题。如果主项目定义了它们,它们会被忽略吗?或者,拿低一点/高一点的?Android应用程序可以在不同的targetSdkVersion(例如,棉花糖运行时权限)下以不同的方式工作。Android网页@上说targetSdkVersion 指定应用程序运行的API级别 关于您的问题,库指定target

我理解为什么库定义minSdkVersion很有用,但是定义了targetSdkVersion的库会增加任何价值吗

我不确定与主项目相比,targetSdkVersions更低和更高的库是否会有任何问题。如果主项目定义了它们,它们会被忽略吗?或者,拿低一点/高一点的?Android应用程序可以在不同的targetSdkVersion(例如,棉花糖运行时权限)下以不同的方式工作。

Android网页@上说targetSdkVersion

指定应用程序运行的API级别

关于您的问题,库指定targetSdkVersion来声明在其中测试它的Android API。如果Android设备上的实际API更高,那么Android提供了向前兼容性。您可以在该网页上搜索文本“向前兼容性”以了解详细信息


希望这能回答你所有的问题。玩得开心…

有关targetSDKVersion的文档:

指定应用程序目标API级别的整数。如果未设置,则默认值等于给定给minSdkVersion的值。 此属性通知系统您已针对目标版本进行了测试,系统不应启用任何兼容性行为以保持应用程序与目标版本的前向兼容性。该应用程序仍然能够在旧版本上运行(直到minSdkVersion)

Android Library targetSdkVersion将告诉主机应用程序您的库应该如何处理该问题。清单合并有关于合并targetSdkVersion的特定规则:

元素中的属性始终使用较高优先级清单中的值,以下情况除外:

  • 当低优先级清单的minSdkVersion值为 如果更高,则会发生错误,除非应用覆盖库合并 规则
  • 当较低优先级清单的targetSdkVersion值为 较低,合并工具使用较高优先级的值 清单,但它也添加了任何必要的系统权限 以确保导入的库继续正常运行 (适用于更高Android版本增加的情况) 许可限制)。有关此行为的更多信息, 请参阅有关隐式系统权限的部分