2016-02-17 9 views
8

私はライブラリがminSdkVersionを定義するのに便利だが、定義されたtargetSdkVersionを持つライブラリは任意の値を追加するのはなぜですか?AndroidライブラリでtargetSdkVersionを定義する必要がありますか?

メインプロジェクトよりも低いtargetSdkVersions以上のライブラリの問題があるかどうかはわかりません。メインプロジェクトで定義されていると無視されますか?または、下位/上位のものを取る? Androidアプリは、異なるtargetSdkVersion(たとえば、Marshmallowランタイム権限)で異なる動作をすることができます。

答えて

0

uses-sdk @ AndroidのWebページではtargetSdkVersion

は、アプリケーションが実行できるように設計されているAPIレベルを指定することを言います。

あなたの質問に関して、ライブラリは、それがテストされたAndroid APIを要求するtargetSdkVersionを指定します。 Androidデバイスの実際のAPIが高い場合、Androidは前方互換性を提供します。詳細については、そのWebページで「前方互換性」というテキストを検索することができます。

これですべての質問にお答えします。楽しんできてね... targetSDKVersionに関する

0

ドキュメント:

アプリケーション・ターゲットというAPIレベルを指定する整数。設定されていない場合、デフォルト値はminSdkVersionに与えられた値と同じです。 この属性は、ターゲットバージョンに対してテストしたことをシステムに通知します。システムは、ターゲットバージョンとのアプリケーションの前方互換性を維持するための互換動作を有効にしてはいけません。アプリケーションは古いバージョン(minSdkVersionまで)で実行できます。

AndroidライブラリtargetSdkVersionは、あなたのライブラリがこの問題に関してどのように動作するのかをホストアプリケーションに通知します。要素に

enter image description here

属性は、常に次のような状況を除いて、マニフェストより高い優先順位の値を使用する:

  • マニフェスト合併は、マージtargetSdkVersionに関する特定の規則を有しています優先度の低いマニフェストのminSdkVersion値が より大きい場合、overrideLibraryマージ ルールを適用しない限りエラーが発生します。低い優先順位のマニフェストが 低いですtargetSdkVersion値を有する場合
  • は、合併ツールは、より高い優先順位 マニフェストからの値を使用し、それはまた、インポートされたライブラリーはし続けることを保証するために 必要な任意のシステム権限を追加します正しく機能する (Androidのバージョンが高いほど許可の制限が高くなった場合) この動作の詳細については、 を参照してください。
関連する問題