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:
ConstraintLayout
Nie można zainstalować / zaktualizować bibliotek wsparcia dla .
Wystarczy otworzyć Preferences
> Appearance & Behavior
> System Settings
> Android
i przejść do SDK Tools
zakładki. Sprawdź poniższe pola i zainstaluj.
jmartinalonso
odpowiedź poniżej. To rozszerza tę odpowiedź.
Preferences
rzeczywistości jest File
> Settings
w 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 Tools
kartę w prawym panelu. Zaznacz opcję Pokaż szczegóły pakietu i zanotuj wersję.
Na koniec możesz dodać poprawną wersję do build.gradle
pliku
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.repositories
w 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”