Android 2.1(Eclair、API Level 7)と互換性がある必要があるアプリケーションがあります。 Android 2.2以降(Froyo、API Level 8)でのみサポートされているマニフェスト属性を使用したいと思います。通常、私のコード内からレベル8のAPIを直接呼び出すことはしません(つまり、リフレクションではなく)ANYレベル8のAPIを使用します。私たちは注意する必要があり、今低いAPIレベルに対応しながら、上位APIレベルのマニフェスト属性をサポートしていますか?
<uses-sdk android:minSdkVersion="7"/>
警告されています
この問題に対する受け入れられた解決策は、下位互換性を示すために、フローズンヨーグルト(API 8)に対してコンパイルとmanfiestにおける用途-SDKのタグを含めることですFroyo固有のAPI呼び出しを誤って使用していないことを確認するために、Eclairに対して(自動テストおよび/または手動で)幅広くテストします。
これは私の意見ではほとんど解決できません。私はアプリケーションのベースライン要件を上回るAPIを呼び出すためにリフレクションを使用することを強く好み、ベースライン以上のマニフェスト設定しかサポートしないことを強く望みます。クリーンで簡単にこれを回避する方法はありますか?
現時点での回避策は、ベースラインAPIと互換性のないマニフェストエントリを削除し、パブリックリリース前にテストコンパイルを実行することです。
ありがとうございました!