Design support library - Which version to use with SDK v21
Solution 1
Support Library should always match the compileSdkVersion
even if the targetSdkVersion
or minSdkVersion
are lower. If you want to use the design library you will need to set compileSdkVersion
to at least 22 and library version 22.2.0.
The reason for that is simple. The version of the library reflects the version of the Android sdk against it was built. If you try to use a higher level version of the support library than the compileSdkVersion
it may not find resources that were added in a later version.
Solution 2
You can use one of these:
//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'
The design library has dependency with appcompat-v7 library.
You can't use the v23.0.x version compiling with api 22 (it is the reason of "Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'
.
Also, because the first version of the design library is 22, you can't use compileSdk=21.
Related videos on Youtube
Matthias Preu
Updated on July 30, 2022Comments
-
Matthias Preu over 1 year
I have problems to understand the version scheme of the support libraries and when to use which version. Currently I have a project with
compileSdkVersion 21
,minSdkVersion 21
andtargetSdkVersion 21
and want to use the android design support library. When I usecom.android.support:design:22.2.0
the project compiles but I get a Gradle warning:"This support library should not use a different version (22) than the `compileSdkVersion` (21)".
When I use
com.android.support:design:23.0.1
I get some compilation errors like:"Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.
I thought I can use always the highest version of the support libraries as long as the
compileSdkVersion
is lower or equal, but that seems wrong.Can I use the design support library when compiling against API level 21?
-
Kane O'Riley over 8 yearsYou can only use versions up to and including your
compileSdkVersion
, so 21 in your case.
-
-
Bharat Dodeja almost 8 yearswhere can I see all versions for particular support library?
-
Gabriele Mariotti almost 8 years@BharatDodeja Here the full list:developer.android.com/tools/support-library/index.html