16

サポートライブラリのバージョン構成と使用するバージョンを理解するのに問題があります。現在、compileSdkVersion 21minSdkVersion 21targetSdkVersion 21というプロジェクトがあり、アンドロイドデザインサポートライブラリを使用したいと考えています。 私はcom.android.support:design:22.2.0を使用する場合、プロジェクトがコンパイルされますが、私はGradleの警告が表示されます:デザインサポートライブラリ - SDK v21で使用するバージョン

"This support library should not use a different version (22) than the `compileSdkVersion` (21)". 

私はcom.android.support:design:23.0.1を使用すると、私のようないくつかのコンパイルエラーを取得:

"Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'. 

は私が常に最高のバージョンを使用することができます思いましたcompileSdkVersionがそれ以下である限り、サポートライブラリは、それは間違っているようです。

APIレベル21のコンパイル時にデザインサポートライブラリを使用できますか?

+0

あなただけの 'compileSdkVersion'、あなたのケースで非常に21を含めへとアップバージョンを使用することができ、私は特定のサポートライブラリのためのすべてのバージョンを見ることができます –

答えて

23

targetSdkVersionまたはminSdkVersionが低い場合でも、サポートライブラリは常にcompileSdkVersionと一致する必要があります。デザインライブラリを使用する場合は、compileSdkVersionを22に、ライブラリバージョン22.2.0に設定する必要があります。

その理由は簡単です。ライブラリのバージョンは、作成されたAndroid SDKのバージョンを反映しています。サポートライブラリの上位バージョンをcompileSdkVersionよりも使用しようとすると、それ以降のバージョンで追加されたリソースが見つからないことがあります。

19

あなたはこれらのいずれかを使用できます。

//You have to use compileSdkVersion=22 
compile 'com.android.support:design:22.2.0' 
compile 'com.android.support:design:22.2.1' 

//You have to use compileSdkVersion=23 
compile 'com.android.support:design:23.3.0' 
compile 'com.android.support:design:23.2.1' 
compile 'com.android.support:design:23.2.0' 
compile 'com.android.support:design:23.1.1' 
compile 'com.android.support:design:23.1.0' 
compile 'com.android.support:design:23.0.1' 
compile 'com.android.support:design:23.0.0' 

設計ライブラリはAPPCOMPAT-V7ライブラリとの依存関係を持っています。
あなたは、API 22でコンパイルv23.0.xのバージョンを使用することはできません(それは"Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'の理由である。

また、設計ライブラリの最初のバージョンは22ですので、あなたがすることはできません= 21 compileSdkを使用

+1

ここ –

+1

@BharatDodeja完全なリスト:。。?HTTP ://developer.android.com/tools/support-library/index.html –

関連する問題