我开发了一个Android应用,目标SDK版本为21。
它能在API 21以上的版本上运行吗?例如API 23?
我开发了一个Android应用,目标SDK版本为21。
它能在API 21以上的版本上运行吗?例如API 23?
在具有更高SDK版本的设备上使用targetSdkVersion并安装是完全可以的。
您在build.gradle中指定的targetSdkVersion告诉系统,您已经开发和测试了应用程序以在该SDK上工作。如果用户在更高的SDK上安装您的应用程序,则系统负责提供向后兼容性(如果有任何更改)。
一个很好的例子是SDK 23中权限的变化。自从该版本以来,需要在代码中显式请求危险权限,仅在清单中声明权限不再足够。
但是,如果您将此应用程序的目标设置为SDK22,则无需通过代码显式请求权限,如果您在更高的SDK系统上安装此应用程序,它将正常工作,因为向后兼容性是在安装时接受所有权限。
根据使用 SDK
android:targetSdkVersion
一个整数,指定应用程序所针对的API级别。如果未设置,则默认值等于minSdkVersion。此属性通知系统您已针对目标版本进行了测试,系统不应启用任何兼容性行为以维护应用程序与目标版本的前向兼容性。该应用程序仍能在旧版本上运行(最低至minSdkVersion)。
这也可以帮助你了解
android:minSdkVersion
一个整数,指定应用程序运行所需的最小 API 级别。如果系统的 API 级别低于此属性中指定的值,则 Android 系统将阻止用户安装应用程序。您应始终声明此属性。
你的minSdkVersion
肯定低于API 21
。因此,你的应用程序可以在上面的SDK版本(包括API 23
)上运行。
你不用担心,一切都很好 :)
PS:请查看此链接targetSDKVersion以了解有关目标SDK使用目的的更多信息。
maxSdkVersion
中定义 21,我认为你做得很好。 - Yazan