【问题标题】:Can I run my app on API 23 if target SDK version I used is 21如果我使用的目标 SDK 版本是 21,我可以在 API 23 上运行我的应用吗
【发布时间】:2017-01-11 23:10:17
【问题描述】:

我开发了一个以 API 21 作为目标 SDK 版本的 Android 应用程序。

它会在上面的 API 上运行良好吗,例如 API 23?

【问题讨论】:

  • 我认为只要你不在maxSdkVersion中定义21就可以了

标签: android android-studio target-sdk


【解决方案1】:

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

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

一个很好的例子是 SDK 23 上的权限发生的情况。由于该版本需要在代码中显式请求危险权限,因此仅在清单中声明权限已不再足够。

但是,如果您将此应用程序定位到 SDK22,则不需要通过代码显式请求,并且如果您将此应用程序安装在更大的 SDK 系统上,它将工作,因为向后兼容性,在这种情况下是在安装时接受所有权限。

【讨论】:

    【解决方案2】:

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

    你很好,不用担心:)

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

    【讨论】:

    • 那么 Target SDK 有什么用呢?请解释
    • 我刚刚编辑了我的答案,检查链接,如果不清楚,我会向你解释更多:)
    【解决方案3】:

    根据Uses SDK

    android:targetSdkVersion

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

    它也可以帮助您了解这一点

    android:minSdkVersion

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-10
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-01-23
      相关资源
      最近更新 更多