旧的targetSdkVersion用于新设备

时间:2017-11-23 16:20:28

标签: android target-sdk

我有一个很老的Android应用程序。我使用了minSdkVersion 18和targetSdkVersion 21.现在它是Android v26,还有很多用户使用v24。 如果用户使用的是Android v24或更高版本,他们可以运行我的应用程序,因为我的targetSdkVersion是21.如果是,那么为什么我们必须将它设置为更高的targetSdkVersion?是不是将其设置得更低可以支持更多设备?可能有什么区别?

1 个答案:

答案 0 :(得分:1)

  

如果用户使用的是Android v24或更高版本,他们可以运行我的应用,因为我的targetSdkVersion是21

  

是不是设置得更低可以支持更多设备?

没有。 targetSdkVersion对您可以支持的设备没有直接影响。这是minSdkVersion的作用。

targetSdkVersion控制某些功能已添加到较新版本的Android中。我倾向于在课堂上描述targetSdkVersion的方式是"它是您在编写代码时所考虑的Android版本"。较新版本的Android(看到旧的targetSdkVersion)可能会选择行为与旧版Android相同,以使您的应用更有可能正常运行。例如,使用targetSdkVersion,您无需为dangerous权限实施运行时权限支持,就像使用23 {或更高版本的targetSdkVersion一样。

  那么为什么我们必须将它设置为更高的targetSdkVersion?

通常,您 。希望没有人指着你的枪强迫你改变这个价值。

某些图书馆作者会告诉您,他们的图书库需要有一定的targetSdkVersion才能可靠地运作。最大的例子是Android支持库工件,他们希望工件的主要版本与compileSdkVersiontargetSdkVersion匹配。

此外,有时,由于旧的targetSdkVersion,用户会将您的应用视为旧版。例如,您的应用程序不支持运行时权限,因此在安装时,用户必须同意您的权限。用户可能会看到并认为您的应用未被维护,然后选择放弃安装并找到一些看起来更加维护的应用。