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