16

У меня проблемы с пониманием схемы версий библиотек поддержки и когда использовать эту версию. В настоящее время у меня есть проект с compileSdkVersion 21, minSdkVersion 21 и targetSdkVersion 21 и вы хотите использовать библиотеку поддержки дизайна Android. Когда я использую 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

Библиотека поддержки должна всегда соответствовать compileSdkVersion, даже если targetSdkVersion или minSdkVersion ниже. Если вы хотите использовать библиотеку дизайна, вам нужно будет установить 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.
Вы не можете использовать версию v23.0.x компиляции с апи 22 (это является причиной "Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.

Кроме того, поскольку первая версия библиотеки дизайн 22, вы не можете использовать compileSdk = 21

+1

, где я могу видеть все версии для конкретной библиотеки поддержки –

+1

@BharatDodeja Вот полный список:..? Http : //developer.android.com/tools/support-library/index.html –