ActionBarSherlockを使用するアプリケーションに取り組んでいます。ドキュメントが指摘しているように:
[...]ライブラリでは、ライブラリとプロジェクトの両方がAndroid4.0以降でコンパイルされている必要があります。このプロジェクトでは、エディターと使用しているビルドシステムの両方でJDK1.6を使用してコンパイルする必要もあります。
つまり、Android 4.Xに対してアプリケーション(およびライブラリ)をコンパイルしますが、マニフェストでは、(たとえば)APIレベル9をターゲットにしていることを宣言します。
これはすべてうまく機能しますが、私を邪魔するものがあります。FAQから:
ライブラリを使用する場合、マニフェストでどのAPIレベルをターゲットにする必要がありますか?
新しいデバイスで実行するとAndroidがネイティブアクションバーを自動的に追加するため、APIレベル11以降をターゲットにする必要があります。新しいAPIに対してコンパイルしますが、アプリは古いバージョンのAndroidを搭載したデバイスで実行される可能性が高いため、SDKの最小バージョン以降に導入されたメソッドを使用しないようにするか、適切にチェックして呼び出すように特に注意する必要があります。
つまり、すべてのメソッド呼び出しを手動でチェックする必要があるので、ターゲットAPIレベル(私の場合は9)で使用できないものは使用しませんか?これは私には間違っているように聞こえます。
私のIDE(IntelliJ)に、APIレベル9のみを使用していることを伝える方法はありますか(存在しないメソッド/クラスのオートコンプリートを取得せず、誤って使用しないようにします)。次に、別のAndroidバージョンに対してコンパイルすることを選択しますか?
または、自動チェック(コンパイル時に実行される)を使用してそれをチェックできますか?