如果我使用的目标SDK版本为21,那么我的应用程序能在API 23上运行吗?

3

我开发了一个Android应用,目标SDK版本为21。

它能在API 21以上的版本上运行吗?例如API 23?


只要你不在 maxSdkVersion 中定义 21,我认为你做得很好。 - Yazan
3个回答

11

在具有更高SDK版本的设备上使用targetSdkVersion并安装是完全可以的。

您在build.gradle中指定的targetSdkVersion告诉系统,您已经开发和测试了应用程序以在该SDK上工作。如果用户在更高的SDK上安装您的应用程序,则系统负责提供向后兼容性(如果有任何更改)。

一个很好的例子是SDK 23中权限的变化。自从该版本以来,需要在代码中显式请求危险权限,仅在清单中声明权限不再足够。

但是,如果您将此应用程序的目标设置为SDK22,则无需通过代码显式请求权限,如果您在更高的SDK系统上安装此应用程序,它将正常工作,因为向后兼容性是在安装时接受所有权限。


0

根据使用 SDK

android:targetSdkVersion

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

这也可以帮助你了解

android:minSdkVersion

一个整数,指定应用程序运行所需的最小 API 级别。如果系统的 API 级别低于此属性中指定的值,则 Android 系统将阻止用户安装应用程序。您应始终声明此属性。


0

你的minSdkVersion肯定低于API 21。因此,你的应用程序可以在上面的SDK版本(包括API 23)上运行。

你不用担心,一切都很好 :)

PS:请查看此链接targetSDKVersion以了解有关目标SDK使用目的的更多信息。


那么 Target SDK 的用途是什么?请解释一下。 - Abhishek Joshi
我刚刚编辑了我的回答,请检查链接,如果不清楚,我会给你解释更多 :) - Rachik Abidi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接