0

ActionBarSherlock を使用し、次のマニフェスト構成を持つ Android アプリがあります。

<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'.

私の質問:コード内のすべてがminSdkVersionで指定されたデバイスと互換性があり、ActionBarSherlockを使用することを確認する正しいSDKでコンパイルする方法はありますか?

4

1 に答える 1

2

ActionBarSherlock を使用している場合は、新しい SDK でコンパイルする必要があります。ただし、Lintを使用して、ビルド時にこれらの無効な API 呼び出しをチェックできます。

于 2013-08-01T13:34:06.617 に答える