【问题标题】:Android XML Style/Theme Version Compatibility, Considering Development Safety with Eclipse/lintAndroid XML Style/Theme版本兼容性,考虑Eclipse/lint开发安全
【发布时间】:2012-12-08 16:15:01
【问题描述】:

现在开发 Android 应用程序的最佳方式似乎是在 project.properties 中以 android-17 为目标,在清单中以 minSdkVersion "whateversuitsyou" 和 targetSdkVersion 17 为目标。

在此配置中,标准 lint 检查将通知任何仅在“whateversuitsyou”以上的 API 版本中可用的 API 调用,并且可以使用反射等动态支持更新的功能(如果有)。

但是,在此设置中,至少无需进一步配置,XML 中的样式和主题属性可能不会放在适当的文件夹中,例如在“whateversuitsyou”为时引用默认资源文件夹中的“Holo”元素小于 11 又名 Honeycomb。

如果遇到未知的 XML 样式属性,应用似乎不会崩溃。 LogCat 会显示错误,例如“Style contains key with bad entry”。

不确定是否在应用启动时检查整个样式;如果是这样,当然可以在每个 API 版本上运行一次应用程序以检查是否存在任何问题。然而,这并不是完全可取的。此外,样式和主题并不是唯一的版本特定资源。

有没有办法让 lint 针对文件夹 *-vXY 的 minSdkVersion 和 API 版本 XY 检查资源?有人可以对此有所了解吗?

【问题讨论】:

    标签: android android-resources android-compatibility android-lint


    【解决方案1】:

    幸运的是,使用当前(更新的)配置,这已不再是问题,因为开发框架以应有的方式处理这种情况。

    例子:

    project.properties:

    target=android-11
    

    AndroidManifest.xml:

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

    您现在可以在-v11 子文件夹中在任何地方使用 API 8 XML 样式和主题属性以及 API 11 XML 样式和主题属性。

    适用于 Eclipse Juno Service Release 1、Android SDK Tools 21.1 和 Android SDK Platform-tools 16.0.1。

    【讨论】:

      猜你喜欢
      • 2011-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-06-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-12-09
      相关资源
      最近更新 更多