2011-06-23 17 views
2

私はいくつかのAndroidアプリに組み込まれているかもしれないライブラリを取り組んでいます。このライブラリはAndroid 2.2以降の機能を使用しますが、ターゲットアプリケーションの使用に不可欠なものではありません。Androidカスタムライブラリの互換性

このように私は環境がAndroid 2.2以降の条件の下でのみ、対象のアプリでオプションとして実行できるようにしたいと考えています。ターゲットアプリがAndroid 2.2以降のデバイス用にコンパイルされて開発されるように制限するものではありません。ターゲットアプリはAndroid 1.6用にコンパイルされ、Android 2.2ライブラリのインポートはすべてのコンパイルプロセスを混乱させません。

このような目標を達成する方法はありますか?

+0

私はまた、GPSがそれを使用している場合のような同様のオプションを探しています..そうでなければ、市場は許可に基づいてアプリケーションをフィルタリングします。私は機能を持たない少数のデバイスのためだけに2つのバージョンのアプリを持つべきではない。 – Dileep

+0

あなたはAndroid SDKに埋め込まれたこの機能の王を持っていました.GPSの見た目はこちらでテストできます:http://stackoverflow.com/questions/843675/how-do-i-find-out-if-the-gpsアンドロイドデバイスが有効になっています – AsTeR

答えて

1

はい。 Android 1.6用のアプリを作成し、Build.VERSION.SDK_INTを使用して現在のSDKのバージョンを確認し、リフレクションを使用するか、SDKバージョンを確認した後にアクセスする専用のクラスで新しい機能を使用します。詳細については、Android blog postを参照してください。

+0

これは何かのクリーンなコードを持つためにラッパーのトンを実装することを苦痛にさせています。 – AsTeR

+0

それほど大したことではありません。私のアプリは1.5まで互換性があります。1.6、2.0、2.3、3.0のラッパーがあります。あなたが必要とする機能を持つAndroidバージョンごとに1つのクラスを書くだけで、本当に簡単です。 SDKのバージョン。 – EboMike