Vấn đề :
Error:Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha2.
Required by:
myapp:app:unspecified
Bối cảnh: Android Studio 2.2 P 1
Vấn đề :
Error:Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha2.
Required by:
myapp:app:unspecified
Bối cảnh: Android Studio 2.2 P 1
Câu trả lời:
Thư viện hỗ trợ cho ConstraintLayout
không thể được cài đặt / cập nhật.
Chỉ cần mở Preferences
> Appearance & Behavior
> System Settings
> Android
và chuyển sang SDK Tools
tab. Kiểm tra các trường sau và cài đặt.
jmartinalonso
câu trả lời dưới đây. Nó đang mở rộng câu trả lời này.
Preferences
thực sự File
> Settings
trên Windows.
./sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4"
từ android-tools / bin.
Trong trường hợp của tôi, các thư viện hỗ trợ cho ConstraintLayout đã được cài đặt, nhưng tôi đã thêm phiên bản không chính xác của Thư viện ConstraintLayout trong tệp build.gradle của mình. Để xem phiên bản nào có bạn cài đặt, đi đến Preferences
> Appearance & Behavior
> System Settings
> Android SDK
. Bây giờ, bấm vào SDK Tools
tab trong khung bên phải. Kiểm tra Hiển thị chi tiết gói và ghi chú của phiên bản.
Cuối cùng, bạn có thể thêm phiên bản chính xác trong build.gradle
tệp
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
testCompile 'junit:junit:4.12'
}
Cách khắc phục là cập nhật plugin Android gradle trong build.gradle của bạn.
Điều này sẽ hoạt động: classpath 'com.android.tools.build:gradle:2.2.0-alpha2'
Hoặc bạn có thể sử dụng mới nhất: classpath 'com.android.tools.build:gradle:2.2.0-alpha3'
Vấn đề của tôi là, Công cụ SDK đã cập nhật nó lên phiên bản mới nhất, trong trường hợp của tôi là 1.0.0-alpha9, nhưng trong sự phụ thuộc cấp độ của tôi đã được đặt thành
biên dịch 'com.android.support.constraint: ràng buộc-layout: 1.0.0-alpha8' Vì vậy, bạn có thể thay đổi tệp xây dựng lớp của mình thành
biên dịch 'com.android.support.constraint: ràng buộc bố cục: 1.0.0-alpha9' Hoặc bạn kiểm tra "Hiển thị chi tiết gói" trong Trình chỉnh sửa công cụ SDK và cài đặt phiên bản cần thiết của bạn. Xem màn hình dưới đây. Hình ảnh của công cụ SDK
Đảm bảo bạn có kho lưu trữ maven.google.com được khai báo trong tệp build.gradle cấp mô-đun của bạn
repositories {
maven {
url 'https://maven.google.com'
}
}
2.Thêm thư viện làm phụ thuộc trong cùng tệp build.gradle:
dependencies {
compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
Đầu tiên tôi đã thử mọi thứ tôi đã đọc trên stackoverflow ... từ cập nhật gradle sang phiên bản XY, đến cập nhật ConstraintLayout lên phiên bản XY ... Tôi thậm chí còn cập nhật các công cụ SDK và Android Studio của mình lên phiên bản mới nhất ... nhưng không có gì hoạt động.
Giải pháp duy nhất hiệu quả với tôi là tôi xóa thư viện ConstraintLayout khỏi lớp và SDK, sau đó tôi mở bố cục xml ngẫu nhiên và trong dạng xem Thiết kế trong phần Tìm kiếm bảng màu cho ConstraintLayout . Nếu bạn đã xóa thành công thư viện khỏi dự án của mình thì bạn sẽ có thể cài đặt thư viện từ đó nếu bạn nhấp đúp vào yếu tố ConstraintLayout .
Điều đó đã tạo ra dòng tiếp theo trong ứng dụng build.gradle của tôi:
'com.android.support.constraint:constraint-layout:1.0.0-beta1'
Trong dự án build.gradle của tôi, tôi có cái này:
classpath 'com.android.tools.build:gradle:2.2.2'
Phiên bản Android 2.2.2
Phiên bản Alpha không còn nữa!
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
Chỉ cần đảm bảo rằng trong phiên bản studio 2.3, bạn sẽ không thấy trình đơn thả xuống gần bố cục ràng buộc trong các công cụ sdk, theo mặc định, nó sẽ cài đặt phiên bản mới nhất
Để có phiên bản mong muốn, hãy chọn hộp cho biết chi tiết gói hiển thị và sự bùng nổ, bây giờ bạn có thể chọn phiên bản bạn muốn cài đặt
lớp com.android.tools.build:gradle:2.2.0-alpha6
ràng buộc bố trí phụ thuộc com.android.support.constraint:constraint-layout:1.0.0-alpha4
làm việc cho tôi
Đối với tôi đó là một vấn đề hoàn toàn khác. Khi tôi cài đặt phụ thuộc ràng buộc trong các công cụ SDK, bằng cách nào đó, các công cụ đã viết chúng vào thư mục sai . Đó là
/home/${USER}/Android/Sdk/extras/+m2repository+/com/.../constraint
thay vì
/home/${USER}/Android/Sdk/extras/+android+/+m2repository+/com/.../constraint
Biện pháp khắc phục:
Chỉ cần sao chép các 1.0.0-alpha*
thư mục vào đường dẫn sau
Trong khi cập nhật các công cụ SDK, một hộp Dilog được trình bày với phiên bản bố trí ràng buộc sắp được cài đặt. Lưu ý rằng và cập nhật sự phụ thuộc của bạn dựa trên đó. Trong trường hợp của tôi, nó đã được cài đặt beta3.
Tôi đã thay đổi sự phụ thuộc của tôi như dưới đây. Sau đó nó hoạt động.
biên dịch 'com.android.support.constraint: ràng buộc bố cục: 1.0.0-beta3'
Trong trường hợp của tôi, tôi đã sử dụng AS 2.3 và tôi muốn sử dụng ConstraintLayout 1.1.3 mới nhất hiện tại, nhưng phiên bản mới nhất trong Tùy chọn> Ngoại hình & Hành vi> Cài đặt hệ thống> Android là 1.0.2.
Để sử dụng ConstraintLayout 1.1.3, tôi đã cập nhật AS của mình từ 2.3 lên bản mới nhất 3.2.1, com.android.tools.build:gradle từ 2.2.2 đến 3.2.1, chuyển từ 3.3 đến 4.6 và buildToolsVersion từ 25.0.0 thành 28.0.3.
Tôi cũng đã thêm maven {url ' https://maven.google.com '} vào kho lưu trữ Maven trong tệp build.gradle cấp dự án và điều đó đã giải quyết vấn đề của tôi.
Tôi đã sử dụng com.android.support.constraint: ràng buộc-layout: 1.0.0-alpha2 với classpath 'com.android.tools.build:gradle:2.1.0', nó hoạt động như bùa mê.
Không chắc chắn nếu tôi quá muộn, nhưng trong trường hợp ai đó vẫn gặp lỗi sau khi cập nhật ConstraintLayout và Solver trên SDK Tools, có lẽ giải pháp này có thể giúp: Lỗi: (30, 13) Không thể giải quyết: com.android. support.constraint: ràng buộc bố cục: 1.0.0-alpha4
Trong trường hợp của tôi, tôi đã có một dự án đa mô-đun gọi là "ứng dụng" và "sdk". Mô-đun "sdk" là mô-đun mà tôi đã thêm thư viện bố trí ràng buộc. Tôi đã gặp lỗi khi tôi cố gắng kết hợp "sdk" vào một dự án đa mô-đun mới có tên là "app2". Giải pháp là đảm bảo tôi đã thêm Kho lưu trữ Google Maven vào tệp build.gradle cấp dự án cho "app2". Có thể thêm Kho lưu trữ Google Maven bằng cách đặt "google ()" allprojects.repositories
trong tệp build.gradle cấp dự án:
allprojects {
repositories {
jcenter()
google()
}
}
Cập nhật phụ thuộc bố cục ràng buộc của bạn lên phiên bản có liên quan từ '1.0.0-alpha2'. Trong trường hợp của tôi, tôi đã thay đổi như sau. biên dịch 'com.android.support.constraint: ràng buộc bố cục: 2.0.0-alpha5'
Vấn đề tương tự được giải quyết bằng cách cài đặt lại Android Studio.