【问题标题】:define the targetSdkVersion depending on the device根据设备定义 targetSdkVersion
【发布时间】:2014-06-06 20:56:07
【问题描述】:

我在清单中定义了android:targetSdkVersion="15",我想用API level 等于17 的设备进行测试。

minSdkVersion 设置为 15。

<uses-sdk
        android:minSdkVersion="15"
        android:targetSdkVersion="15" /> 

我知道它会起作用,因为 minSdkVersion 设置为低于设备的版本,但我的问题是我应该在更改设备时更改 targetVersion 吗? targetSdkVersion 不应该总是等于我正在测试的设备之一,正如参考文献中所说的那样

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html?

【问题讨论】:

  • 目标版本和最低SDK版本在您发布给公众时已经存在,这些不会根据设备动态变化。某些代码功能取决于您选择的版本。
  • 简而言之,没有。您不必更改目标 SDK。

标签: android sdk android-sdk-tools


【解决方案1】:

您不应该在每台设备上都更改目标版本,而应在发布的每个新 API 级别时更改。

正如您已经发布的网页所述:

随着 Android 随着每个新版本的发展,一些行为甚至 外观可能会改变。但是,如果平台的 API 级别是 高于应用的 targetSdkVersion 声明的版本, 系统可能会启用兼容性行为以确保您的应用 继续按您预期的方式工作。

还有几行:

要在每个 Android 版本中维护您的应用程序,您 应增加此属性的值以匹配最新的 API 级别,然后在相应的应用程序上彻底测试您的应用程序 平台版本。

每个新 API 都包含新功能,但也会弃用旧功能;有些甚至可能被完全删除!因此,以更高 API 级别运行的设备可能不再支持您在应用中使用的相同功能,这会迫使它们启用兼容模式才能再次正常运行应用。

简而言之,不,您的targetSdkVersion 应该与最高 API 一样高。 minSdkVersion 当然应该尽可能低,你应该尽量避免使用maxSdkVersion,因为随着时间的推移,这会降低你的应用程序的移动性。 即使您的minSdkVersion 为 1,targetSdkVersion 为 19,新设备也无需启用兼容模式即可运行应用。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-05-07
    • 2012-08-05
    • 1970-01-01
    • 1970-01-01
    • 2019-08-06
    • 1970-01-01
    • 2013-05-22
    • 2018-11-16
    相关资源
    最近更新 更多