【问题标题】:Android targetSdkVersion behaviorAndroid targetSdkVersion 行为
【发布时间】:2017-04-14 13:42:06
【问题描述】:

我对@9​​87654321@ 的要求/行为感到困惑。据我了解,将目标 SDK 设置为特定版本表明应用程序 (UI) 的行为在该特定版本之前得到保证。

在我的应用程序中,我已将我的 targetSdkVersion 设置为 1(用于测试),并且我的页面中有一些按钮。我所期望的是,按钮点击不会有任何连锁反应(在更高版本的 Android 中引入)。但是当我点击按钮时有一个连锁反应。

应用程序正在lollipop 上运行。

谁能解释一下这是如何工作的。

【问题讨论】:

  • targetSdkVersion 与您的 UI 无关。它只是指定应用程序设计运行的 API 级别。
  • 我还是不清楚。您能否提供一个示例,说明它将如何影响我的应用程序在不同设备上的行为。
  • 您说即使 targetSdkVersion 设置为 1 时涟漪效应也会起作用,这很好,例如,对吗?将 targetSDKVersion 设置为任何值都不会影响您的应用程序期望,如果它大于 23 在这种情况下您必须添加运行时权限。您与 compileSdkVersion 混淆。
  • 如果您将 targetVersion 设置为 22 并将 minSdkVersion 设置为 15,这只是表示您的应用已在此版本的设备之间进行了测试,但可以在 23 或更高版本上运行但未经过测试。

标签: android xamarin target-sdk


【解决方案1】:

SDK 共有三个级别的注意事项:

  • targetSdkVersion :这是对 Android 应用程序设计运行版本的提示。一个相关的例子是,如果你将targetSdkVersion 设置为 22,那么 android 将不会强制执行版本 23 中引入的权限......如果你将 targetSdKVersion 提高到 23,android 会将此作为你的应用程序知道如何处理系统的指示权限请求。

  • minSdkVersion :您的应用程序将运行的最低版本(您所说的)。 play 不会向较低版本的用户显示该应用。

  • compileSdkVersion:这是您的应用程序编译的版本。您需要下载相关的 SDK 进行构建。这是在上面的示例中具有您期望的效果的变量。由于您的应用无法使用相关的系统 API。

【讨论】:

    【解决方案2】:

    在我看来,targetSDK 与您应用的行为无关。它只是 API 级别,不处理用户界面部分。

    一个整数,指定应用程序所针对的 API 级别。

    使用此属性集,应用程序表示它能够在旧版本上运行(低至 minSdkVersion),但已明确测试可与此处指定的版本一起使用。指定此目标版本允许平台禁用目标版本不需要的兼容性设置(否则可能会打开以保持向前兼容性)或启用旧应用程序不可用的新功能。这并不意味着您可以为平台的不同版本编写不同的功能——它只是通知平台您已经针对目标版本进行了测试,并且平台不应该执行任何额外的工作来保持与目标版本的前向兼容性。

    希望这有助于交配!!干杯快乐编码

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-08-14
      • 1970-01-01
      • 2014-04-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多