0

我们有一个使用 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>

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?

4

1 回答 1

2

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

于 2013-08-01T13:34:06.617 回答