6

私の質問は非常によく似た質問、これをポップアップしました。しかし、受け入れられた回答(単一の質問)は別の質問を指しています。これは元の質問に実際には回答していません。

Androidのドキュメントには次のように記載されています。

ビルドターゲットは、アプリケーションをビルドする対象のAndroidプラットフォームを指定します。

しかし、それは本当にどういう意味ですか?

私の見方では、ビルドターゲットをAPIレベル4に設定できますが、minSdkVersion=4どうtargetSdkVersion=10なりますか?Eclipseは、私がAPIレベル4用に開発していることを前提としており、定数、または4を超えるAPIレベルで定義されているメソッドは使用できません。それらを使おうとすると、アプリケーションがコンパイルされません。私はこれを知っています。

しかし、言い換えると...

minSdkVersion=4設定しただけで、定義されていtargetSdkVersion ないとしましょう。また、4を超えるAPIレベルでのみ使用可能なメソッドまたは定数を使用していません。この状況では、選択するビルドターゲットは本当に重要ですか?最終的なAPKに影響はありますか?

4

3 に答える 3

6

ターゲットを構築する

ビルドターゲットは、APIレベルのEclipse /IntelliJ/使用しているIDEがビルド対象であるものです。これは、IDE/ビルドシステムが提供するAPIを知るために使用するだけです。APIレベル14に対してビルドした場合でも、APIレベル7で使用できないAPIを呼び出さない限り、アプリケーションはAPIレベル7で実行できます。

ビルドターゲットはほとんどandroid:targetSdkVersionと同じに設定しますが、これは必須ではありません。

ソース:http ://simonvt.net/2012/02/07/what-api-level-should-i-target/

于 2012-04-08T13:59:07.327 に答える
2

より高いビルドターゲットを使用する場合は、たとえば、リフレクションを使用して、以前のバージョンで機能するコードを記述できます。API 4のみに制限したい場合は、ビルドターゲットについて心配する必要はありません。

より高いレベルをコンパイルするときに以前のAPIレベルをターゲットにする例については、次の質問を参照してください。

Android:APIのバージョンに応じてコーディングする方法は?

于 2012-03-27T23:42:12.740 に答える
2

The way I see it, I can have the minSdkVersion=4 and targetSdkVersion=10 but set the build target to API Level 4. What will happen? Eclipse assumes I'm developing for API Level 4 and any method, constant or whatever defined on API Levels above 4 will not be available to me. If I try to use them, the application will not compile.

ビルドターゲットをAPIレベル4に設定すると、EclipseはAPIレベル4を厳密に使用するため、それより高いメソッドをコンパイルできなくなります。ただし、ビルドターゲットをより高いAPIレベルに設定すると、 APIレベル10、APKはAPIレベル4から10までの電話で使用できます。

2番目の質問の回答は、Androidビルドターゲットであるあなたの質問に答え、アプリケーションを使用できるユーザーの範囲に影響minSdkVersionを与えます。targetSdkVersion

編集:

定義するつもりはtargetSdkVersionなく、APIレベル4を超える機能も使用しないため、はとtargetSdkVersion同じになりますminSdkVersion。選択したビルドターゲットが自動的に指定されます。APIレベル4未満でない限り、どのビルドターゲットを選択するかは実際には重要ではありません。

のAndroidドキュメントからtargetSdkVersion

An integer designating the API Level that the application targets. If not set, the default value equals that given to minSdkVersion. This attribute informs the system that you have tested against the target version and the system should not enable any compatibility behaviors to maintain your app's forward-compatibility with the target version. The application is still able to run on older versions (down to minSdkVersion).

于 2012-03-27T23:49:51.893 に答える