【问题标题】:make sure Code is only using features available in Android minSdkVersion with maven and ActionBarSherlock确保代码仅使用带有 maven 和 ActionBarSherlock 的 Android minSdkVersion 中可用的功能
【发布时间】:2013-08-01 11:59:56
【问题描述】:

我们有一个使用 ActionBarSherlock 并具有以下清单配置的 Android 应用:

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

最近我们遇到了崩溃,因为我们在应用程序中有以下代码行:

String type = ... 
if (type.isEmpty()) {
   ...
}

因为 isEmpty() 方法在 Android 2.2.x 中不可用(minSdkVersion 8 我们仍然支持)。

所以我们想在开发中发现这个问题,同时编译应用程序而不是在设备上运行时。通过设置将 Android 版本 2.2.x 配置为 SDK

<sdk>
  <platform>8</platform>
</sdk>

ma​​ven构建配置中导致由于ActionBarSherlock导致构建失败的问题:

[INFO] ../target/unpack/apklibs/com.actionbarsherlock_library_apklib_4.1.0/res/values-v14/abs__styles.xml:4: error: 
Error retrieving parent for item: No resource found that matches the given name 'android:Widget.Holo.ActionBar'.

所以我的问题是:有没有办法使用正确的 SDK 进行编译,以确保代码中的所有内容都与 minSdkVersion 中指定的设备兼容并使用 ActionBarSherlock?

【问题讨论】:

    标签: android maven actionbarsherlock


    【解决方案1】:

    如果您使用的是 ActionBarSherlock,则必须使用更高版本的 SDK 进行编译。但是您可以在构建时使用Lint 来检查这些invalid API calls

    【讨论】:

    • 我担心,会尝试将 lint 检查添加到 maven build ant 让它失败
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-30
    • 2012-12-31
    • 2012-06-17
    • 2019-02-02
    • 1970-01-01
    • 2015-08-07
    相关资源
    最近更新 更多