确保Code仅使用带有maven和ActionBarSherlock的Android minSdkVersion中提供的功能

时间:2013-08-01 11:59:57

标签: android maven actionbarsherlock

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

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

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

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

因为 Android 2.2.x无法使用 isEmpty() 方法 minSdkVersion 8 仍然支持)。

因此,我们希望在开发中找到该问题,同时在设备上运行时编译应用程序。通过设置

将Android 2.2.x版配置为SDK
<sdk>
  <platform>8</platform>
</sdk>
maven 构建配置中的

导致构建因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?

1 个答案:

答案 0 :(得分:2)

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