16

Tôi gặp sự cố khi hiểu sơ đồ phiên bản của thư viện hỗ trợ và thời điểm sử dụng phiên bản nào. Hiện tại tôi có một dự án với compileSdkVersion 21, minSdkVersion 21targetSdkVersion 21 và muốn sử dụng thư viện hỗ trợ thiết kế Android. Khi tôi sử dụng com.android.support:design:22.2.0 dự án biên dịch nhưng tôi nhận được một cảnh báo Gradle:Thư viện hỗ trợ thiết kế - Phiên bản nào cần sử dụng với SDK v21

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

Khi tôi sử dụng com.android.support:design:23.0.1 tôi nhận được một số lỗi biên dịch như:

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

tôi nghĩ rằng tôi có thể sử dụng luôn phiên bản cao nhất của các thư viện hỗ trợ miễn là compileSdkVersion thấp hơn hoặc bằng nhau, nhưng điều đó có vẻ sai.

Tôi có thể sử dụng thư viện hỗ trợ thiết kế khi biên dịch với API cấp 21 không?

+0

bạn chỉ có thể sử dụng các phiên bản lên đến và bao gồm cả 'của bạn compileSdkVersion', vì vậy 21 trong trường hợp của bạn –

Trả lời

23

Thư viện hỗ trợ phải luôn khớp với compileSdkVersion ngay cả khi số targetSdkVersion hoặc minSdkVersion thấp hơn. Nếu bạn muốn sử dụng thư viện thiết kế, bạn sẽ cần phải đặt compileSdkVersion thành ít nhất 22 và phiên bản thư viện 22.2.0.

Lý do cho điều đó thật đơn giản. Phiên bản của thư viện phản ánh phiên bản của sdk Android chống lại nó được xây dựng. Nếu bạn cố gắng sử dụng phiên bản cấp cao hơn của thư viện hỗ trợ hơn compileSdkVersion, nó có thể không tìm thấy tài nguyên đã được thêm vào trong phiên bản mới hơn.

19

Bạn có thể sử dụng một trong những:

//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' 

thư viện Thiết kế có sự phụ thuộc với thư viện appcompat-v7.
Bạn không thể sử dụng phiên bản v23.0.x biên soạn với api 22 (đó là lý do của "Error:(2) Error retrieving parent for item: No resource found that matches the given name 'android:TextAppearance.Material.Widget.Button.Inverse'.

Ngoài ra, bởi vì phiên bản đầu tiên của thư viện thiết kế là 22, bạn không thể sử dụng compileSdk = 21

+1

nơi tôi có thể xem tất cả các phiên bản cho thư viện hỗ trợ đặc biệt –

+1

@BharatDodeja Dưới đây danh sách đầy đủ:..? http : //developer.android.com/tools/support-library/index.html –

Các vấn đề liên quan