2011-08-02 17 views
2

私は、アンドロイドの最小のAndroid:minSdkVersionを持つ既存のアプリを持っています。 Android 3.0で追加されたハードウェアアクセラレーションを有効にするために、私のアプリがタブレットアンドロイド(3.0+) 。Android Project Build Target

プロジェクトのプロパティ - > Androidの下でEclipseで混乱していましたが、もともとAndroid 2.2(API 8)を選択していましたが、新しいハードウェアアクセラレーションを動作させるためにAndroid 3.0(API 11)を選択する必要があります。私の質問は、Project Build TargetをAndroid 3.0に切り替える際のリスクは何ですか?そして、一般的に、私は最新のプロジェクトビルドターゲットでコンパイルするだけでいいですか?他の人たちは何をしていますか?あなたは常に最新のAPIをリリースしていますか?

私はかなりの探索を試みたが、唯一のAndroidの議論を見つけることができます:minSdkVersionがとAndroid:targetSdkVersionではなく、ビルドに使用される実際のAndroidのAPIには何も。任意の助け

おかげ

答えて

5

私はあなたがドキュメント読んでいないと思う

http://developer.android.com/guide/topics/manifest/uses-sdk-element.html

のandroid:minSdkVersionが

アプリケーションの実行に必要な最小APIレベルを指定する整数。 Androidシステムは、システムのAPIレベルがこの属性で指定された値よりも低い場合、ユーザーがアプリケーションをインストールできないようにします。この属性は常に宣言する必要があります。

アンドロイド:targetSdkVersion

アプリケーションが標的にされたAPIレベルを指定する整数。 この属性を設定すると、アプリケーションは古いバージョン(minSdkVersionまで)で実行できますが、ここで指定されたバージョンで動作することが明示的にテストされています。このターゲットバージョンを指定すると、プラットフォームは、ターゲットバージョン(順方向互換性を維持するために有効になる可能性があります)に必要のない互換性設定を無効にするか、古いアプリケーションでは使用できない新しい機能を有効にします。これは、異なるバージョンのプラットフォームで異なる機能をプログラムできることを意味するものではなく、ターゲットバージョンに対してテストしたことをプラットフォームに伝え、プラットフォームはターゲットバージョンとの前方互換性を維持するための余分な作業を行うべきではありません。

アンドロイド:maxSdkVersion

アプリケーションが実行できるように設計されている最大のAPIレベルを指定する整数。 Android 1.5,1.6,2.0、および2.0.1では、アプリケーションのインストール時およびシステムのアップデート後にアプリケーションの再検証を行う際に、この属性の値がチェックされます。いずれの場合も、アプリケーションのandroid:maxSdkVersion属性が、システム自体が使用するAPIレベルよりも低い場合、システムはアプリケーションのインストールを許可しません。システム更新後の再検証の場合、これによりデバイスからアプリケーションが効果的に削除されます。 (Androidの2.0.1を超えた)のAndroidの

将来のバージョンでは、もはやアンドロイドをチェックしていないか、強制されます:インストールまたは再検証中maxSdkVersion属性を。 Androidマーケットでは、ダウンロード可能なアプリケーションをユーザーに提示する際に、この属性をフィルタとして引き続き使用します。

+0

targetSdkVersionが11で、minSdkVersionが8の場合、11以降で使用できるAPIを使用できないため、sdkバージョン8で動作するデバイスで動作することを確認できますか?右? – Enigma

+1

API 11のいくつかの機能を使用する場合は、targetSdkVersion> = 11を設定する必要があります。また、この同じアプリケーションを下位バージョンでサポートしたい場合は、API8以降でサポートしたいとしますminSdkVersion = 8に設定してください。アプリケーションがAPI 8,9,10,11で動作していますが、機能はAPI 11でのみ使用できるため、実行時にデバイスのAPIレベルを確認する必要があります。他のものを使用しないでください。 – Dharmendra

+0

答えをありがとう。ジュガードはそういうことをやっているように感じます!だから私はそれが最善の方法であるかどうかはわかりません。 – Enigma