Problem:
Error:Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha2.
Required by:
myapp:app:unspecified
Tło: Android Studio 2.2 P 1
Problem:
Error:Could not find com.android.support.constraint:constraint-layout:1.0.0-alpha2.
Required by:
myapp:app:unspecified
Tło: Android Studio 2.2 P 1
Odpowiedzi:
ConstraintLayoutNie można zainstalować / zaktualizować bibliotek wsparcia dla .
Wystarczy otworzyć Preferences> Appearance & Behavior> System Settings> Androidi przejść do SDK Toolszakładki. Sprawdź poniższe pola i zainstaluj.
jmartinalonsoodpowiedź poniżej. To rozszerza tę odpowiedź.
Preferencesrzeczywistości jest File> Settingsw systemie Windows.
./sdkmanager "extras;m2repository;com;android;support;constraint;constraint-layout;1.0.0-beta4"z android-tools / bin.
W moim przypadku te biblioteki obsługujące ConstraintLayout zostały zainstalowane, ale dodawałem niepoprawną wersję biblioteki ConstraintLayout w moim pliku build.gradle. Aby zobaczyć jaką wersję masz zainstalowany, przejdź do Preferences> Appearance & Behavior> System Settings> Android SDK. Teraz kliknij SDK Toolskartę w prawym panelu. Zaznacz opcję Pokaż szczegóły pakietu i zanotuj wersję.
Na koniec możesz dodać poprawną wersję do build.gradlepliku
dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.android.support.constraint:constraint-layout:1.0.0-alpha9'
testCompile 'junit:junit:4.12'
}
Rozwiązaniem jest aktualizacja wtyczki Android Gradle w pliku build.gradle.
To powinno działać: classpath „com.android.tools.build:gradle:2.2.0-alpha2”
Lub możesz użyć najnowszego: classpath „com.android.tools.build:gradle:2.2.0-alpha3”
Mój problem polegał na tym, że SDK Tools zaktualizowało go do najnowszej wersji, w moim przypadku była to 1.0.0-alpha9, ale w moim gradle zależność była ustawiona na
compile 'com.android.support.constraint: constraint-layout: 1.0.0-alpha8' Możesz więc zmienić plik kompilacji gradle na
compile 'com.android.support.constraint: constraint-layout: 1.0.0-alpha9' Lub zaznacz „Pokaż szczegóły pakietu” w edytorze narzędzi SDK i zainstaluj potrzebną wersję. Zobacz pokaz ekranu poniżej. Obraz narzędzi SDK
Upewnij się, że repozytorium maven.google.com zostało zadeklarowane w pliku build.gradle na poziomie modułu
repositories {
maven {
url 'https://maven.google.com'
}
}
2. Dodaj bibliotekę jako zależność w tym samym pliku build.gradle:
dependencies {
compile 'com.android.support.constraint:constraint-layout:1.0.2'
}
Najpierw wypróbowałem wszystko, co przeczytałem, na temat stackoverflow ... od aktualizacji gradle do wersji XY, po aktualizację ConstraintLayout do wersji XY ... nawet aktualizuję moje narzędzia SDK i Android Studio do najnowszej wersji ... ale nic nie działało.
Jedynym rozwiązaniem, które działało, było to, że usunąłem bibliotekę ConstraintLayout z gradle i SDK, a następnie otworzyłem losowy układ xml i w widoku Projekt w sekcji Paleta wyszukaj ConstraintLayout . Jeśli pomyślnie usunąłeś bibliotekę ze swojego projektu, będziesz mógł zainstalować bibliotekę stamtąd po dwukrotnym kliknięciu elementu ConstraintLayout .
To stworzyło następny wiersz w mojej aplikacji build.gradle:
'com.android.support.constraint:constraint-layout:1.0.0-beta1'
W moim projekcie build.gradle mam to:
classpath 'com.android.tools.build:gradle:2.2.2'
Android studio w wersji 2.2.2
Wersja alfa nie jest już dostępna!
implementation 'com.android.support.constraint:constraint-layout:1.1.3'
Aby upewnić się, że w wersji Studio 2.3 nie zobaczysz menu rozwijanego w pobliżu układu ograniczeń w narzędziach sdk, domyślnie zainstaluje najnowszą wersję
Aby uzyskać żądaną wersję, zaznacz pole pokazujące szczegóły pakietu i boom, możesz teraz wybrać żądaną wersję, którą chcesz zainstalować
gradle com.android.tools.build:gradle:2.2.0-alpha6
zależność układu ograniczeń com.android.support.constraint:constraint-layout:1.0.0-alpha4
pracuje dla mnie
Dla mnie to była zupełnie inna sprawa. Kiedy zainstalowałem zależność od ograniczeń w narzędziach SDK, narzędzia w jakiś sposób zapisały je w niewłaściwym katalogu. To jest
/home/${USER}/Android/Sdk/extras/+m2repository+/com/.../constraint
zamiast
/home/${USER}/Android/Sdk/extras/+android+/+m2repository+/com/.../constraint
Zaradzić:
Po prostu skopiuj 1.0.0-alpha*katalogi do drugiej ścieżki
Podczas aktualizacji narzędzi SDK, okno dialogowe prezentowane z wersją układu ograniczenia, która ma zostać zainstalowana. Zauważ to i zaktualizuj swoją zależność na tej podstawie. W moim przypadku była to instalacja beta3.
Zmieniłem moją zależność jak poniżej. Potem zadziałało.
kompiluj „com.android.support.constraint: constraint-layout: 1.0.0-beta3”
W moim przypadku używałem AS 2.3 i chciałem używać najnowszego ConstraintLayout 1.1.3, ale najnowsza wersja w moich Preferencjach> Wygląd i zachowanie> Ustawienia systemu> Android to 1.0.2.
Aby użyć ConstraintLayout 1.1.3, zaktualizowałem mój AS z 2.3 do najnowszej wersji 3.2.1, com.android.tools.build:gradle z 2.2.2 do 3.2.1, gradle z 3.3 na 4.6 i buildToolsVersion z 25.0.0 na 28.0.3.
Dodałem również maven {url ' https://maven.google.com '} do repozytoriów Maven w pliku build.gradle na poziomie projektu i to rozwiązało mój problem.
Użyłem com.android.support.constraint: constraint-layout: 1.0.0-alpha2 z classpath „com.android.tools.build:gradle:2.1.0”, działało jak urok.
Nie jestem pewien, czy jestem za późno, ale w przypadku, gdy ktoś nadal ma błąd po aktualizacji ConstraintLayout i Solver za pośrednictwem narzędzi SDK, może to rozwiązanie może pomóc: Błąd: (30, 13) Nie udało się rozwiązać: com.android. support.constraint: constraint-layout: 1.0.0-alpha4
W moim przypadku miałem projekt wielomodułowy o nazwie „app” i „sdk”. Moduł „sdk” to ten, w którym dodałem bibliotekę układu ograniczeń. Wystąpił błąd, gdy próbowałem włączyć „sdk” do nowego wielomodułowego projektu o nazwie „app2”. Rozwiązaniem było zapewnienie, że dodałem repozytorium Google Maven do pliku build.gradle na poziomie projektu dla „app2”. Repozytorium Google Maven można dodać, umieszczając „google ()” allprojects.repositoriesw pliku build.gradle na poziomie projektu:
allprojects {
repositories {
jcenter()
google()
}
}
Zaktualizuj zależność układu ograniczeń do odpowiedniej wersji z „1.0.0-alpha2”. W moim przypadku zmieniłem na następujący. kompiluj „com.android.support.constraint: constraint-layout: 2.0.0-alpha5”