我开发了一个具有 API 21 作为目标 SDK 版本的 Android 应用程序。
它会在上面的 API 上运行良好吗,例如 API 23?
我开发了一个具有 API 21 作为目标 SDK 版本的 Android 应用程序。
它会在上面的 API 上运行良好吗,例如 API 23?
使用 targetSdkVersion 并将其安装在具有更高 SDK 版本的设备上是完全可以的。
您在 build.gradle 中指定的 targetSdkVersion 告诉系统您已经开发并测试了您的应用程序以在该 SDK 上工作。如果用户在更大的 SDK 上安装您的应用程序,则系统有责任提供向后兼容性(如果有任何更改)。
一个很好的例子是 SDK 23 上的权限发生的情况。由于该版本需要在代码中显式请求危险权限,因此仅在清单中声明权限已不再足够。
但是,如果您将此应用程序定位到 SDK22,则不需要通过代码显式请求,并且如果您将此应用程序安装在更大的 SDK 系统上,它将工作,因为向后兼容,在这种情况下是接受所有安装时的权限。
安卓:targetSdkVersion
一个整数,指定应用程序所针对的 API 级别。如果未设置,则默认值等于提供给 minSdkVersion 的值。此属性通知系统您已针对目标版本进行了测试,并且系统不应启用任何兼容性行为来保持您的应用程序与目标版本的前向兼容性。该应用程序仍然能够在旧版本上运行(低至 minSdkVersion)。
它还可以帮助您了解这一点
安卓:minSdkVersion
一个整数,指定应用程序运行所需的最低 API 级别。如果系统的 API Level 低于此属性中指定的值,Android 系统将阻止用户安装应用程序。您应该始终声明此属性。
你minSdkVersion
的肯定低于API 21
. 因此,您的应用程序可以在上述 SDK 版本(包括API 23
)上运行。
你很好,不用担心:)
PS:查看此链接targetSDKVersion以了解有关目标 SDK 使用目的的更多信息。