Wymagana jest wersja Gradle 1.10. Obecna wersja to 2.0

80

Próbuję używać najnowszej wersji Gradle (2.0), jednak ten komunikat pojawia się po naciśnięciu gradle build w terminalu. Dlaczego prosi o wersję 1.10? Jestem nowy w Gradle, więc staram się to obejść.

Wymagana jest wersja Gradle 1.10. Obecna wersja to 2.0

Oto moje zależności (plik build.gradle modułu):

dependencies {
    classpath 'com.android.tools.build:gradle:0.12.+'
    classpath fileTree(dir: 'build-libs', include: '*.jar')
}

... i zadanie opakowania:

task wrapper(type: Wrapper) {
    gradleVersion = "2.0"
}

Ustawiłem również adres URL dystrybucji w następujący sposób (w pliku local.properties):

distributionUrl=https\://services.gradle.org/distributions/gradle-2.0-all.zip

Ostatnią rzeczą jest to, że w programie File->Settings->Gradlewybrałem opcję „Użyj dostosowywalnego opakowania ocen”

GRADLE_HOME jest ustawiony na C: \ Program Files (x86) \ Gradle \ gradle-2.0

Plik build.gradle:

buildscript {

    repositories {
        mavenLocal()
        mavenCentral()
    }

    dependencies {
        classpath 'com.android.tools.build:gradle:0.12.+'
        classpath fileTree(dir: 'build-libs', include: '*.jar')
    }
}


task wrapper(type: Wrapper) {
    gradleVersion = "2.0"
}

UPDATE1

W obecnej formie używam tego Android Studio 1.1.0 z wersją wtyczki 1.1.0-rc1

    dependencies {
    classpath 'com.android.tools.build:gradle:1.1.0-rc1'
}

Wersja Gradle to 2.3 w gradle-wrapper.properties

distributionUrl=http\://services.gradle.org/distributions/gradle-2.3-all.zip

Próbowałem wtyczki w wersji 1.1.0, ale potem narzeka na com.android.application

AKTUALIZACJA 01/2016

W obecnej formie używam dystrybucji gradle 2.9 w gradle -> wrapper -> gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-2.9-all.zip

a wtyczka to

classpath 'com.android.tools.build:gradle:1.5.0'
Nabdreas
źródło
Czy możesz przesłać swój plik build.gradle?
apmartin1991
Nadal mam ten problem. plugin jest ustawiony na 0.12. + i używam oficjalnej wersji Gradle 2.0. Nie mogę znaleźć żadnych śladów 1.10. Dlaczego o to prosi :(
Nabdreas,
czy wygenerowałeś opakowanie dla 1.10? Mam te same problemy. Opublikuj aktualizację, jeśli to działa. Właśnie wróciłem do projektu opartego na gradle i nie mogę go ponownie uruchomić, mimo że próbowałem zregenerować opakowania.
RichieHH,
Nie powodzenia z 2.0, na razie używam 1.12. Jeśli uda mi się znaleźć rozwiązanie, na pewno je opublikuję! Pomóc może usunięcie folderu .gradle w C: / User. Musiałem to zrobić, żeby 1.12 działało
Nabdreas
Jeśli to pomoże, w obecnej chwili używam Gradle 2.2.1, Plugin 1.0.1 i AS w wersji 1.1 Preview 2. Żadnych problemów.
Nabdreas

Odpowiedzi:

66

Wersja wtyczki Gradle dla Androida musi być kompatybilna z wersją Gradle. Kasy na stół wersja mapowania kompatybilność .

tabela mapowania zgodności

Lucas
źródło
63
Szczerze mówiąc, pokazuje to, jak głupia jest wtyczka, kiedy nie może korzystać z najnowszej wersji Gradle. Poważnie Google ??? Brzmi jak biblioteka DLL, przez którą Microsoft przeszedł dziesiątki lat temu. Pobierz z tym Google.
AndroidDev
5
OMG, to jest takie głupie i denerwujące, Android Studio robi to przy każdej synchronizacji i automatycznie obniża wersję dla mnie, jestem na 0.14.4 i Gradle 2.2, ale rozpoznaje tylko Gradle 2.1. Czy ktoś wie, jak wyłączyć to sprawdzenie?
Bob
2
@Bob spróbuj użyć gradle 2.2.1, zmieniłem gradle na 2.2 i wtyczkę na 0.14.4 i prosił o gradle 2.1, ale zmiana go na 2.2.1 naprawiła problem.
Nabdreas
2
A co z Androidem Studio 1.0.1?
Sauron
2
@Sauron, którego możesz użyć 1.0.+dla wtyczki i 2.2.1Gradle
Gustavo Barbosa
64

Komunikat: „Wymagana jest wersja Gradle 1.10. Obecna wersja to 2.0”

Występuje, gdy: próba skompilowania projektu systemu Android, który wymaga wersji 1.10 programu Gradle, podczas korzystania z wersji 2,0 jako natywnej.

Rozwiązanie: użycie Gradle Wrapper

Kroki:

  1. Upewnij się, że distributionUrl określono jako gradle-1.10-all.zip w pliku właściwości Gradle-wrapper w projekcie systemu Android. Ścieżka do pliku wyglądałaby następująco:

    MyAndroidProject / gradle / wrapper / gradle-wrapper.properties

  2. Uruchom polecenie Gradle Wrapper na najwyższym poziomie projektu, w którym znajdują się skrypty wykonywalne (tj. Gradlew i gradlew.bat ).

    Dla systemu operacyjnego podobnego do systemu Unix :

    ./gradlew wrapper

    W przypadku systemu operacyjnego Windows :

    gradlew.bat wrapper

  3. Uruchom polecenie kompilacji z Gradle Wrapper.

    Dla systemu operacyjnego podobnego do systemu Unix :

    ./gradlew build

    W przypadku systemu operacyjnego Windows :

    gradlew.bat build

wono
źródło
1
To zadziałało dla mnie. Robiąc to, musiałem zainstalować JDK i postępować zgodnie z post stackoverflow.com/questions/17587751/ ...
chank
1
Doprowadzało mnie do szału, że mój DistributionUrl był ustawiony na najnowszą wersję, ale wersja Gradle na moim komputerze nie była, a Gradle Sync w Android Studio nic nie zrobił! Uruchomienie './gradlew wrapper' w terminalu w Android Studio było dokładnie tym, czego potrzebowałem, szkoda, że ​​Google nie uczynił tego łatwiejszym / bardziej oczywistym ...
AndroidNoob
16

Naprawiam problem z aktualizacją wersji gradle w pliku build.gradle:

dependencies {
classpath 'com.android.tools.build:gradle:0.12.2'

}

To rozwiązuje mój problem. Mam nadzieję, że to pomoże.

Panie Moustard
źródło
3
w gradle 2.1 będziesz potrzebować zależności {classpath 'com.android.tools.build:gradle:0.13.+'}
Peter Szanto
1
tak, masz rację, ale w gradle 2.1 chciałbym użyć 'zależności {classpath' com.android.tools.build:gradle:0.13.2 '}' jest lepsze, jeśli nie używasz. + na końcu .
Pan Moustard
Pracowałem, gdy: zależności {classpath 'com.android.tools.build:gradle:0.13.2'} Rozwiązałem problem po zakończeniu, wymieniając „com.android.tools.build:gradle:0.12.+” Dziwne jest to, że myślę, że oryginał przechwycony 'com.android.tools.build:gradle:0.13.2'
sweetiewill
1
Na wypadek, gdybyś korzystał z Gradle 2.1.1, powinieneś określić ścieżkę klasy „com.android.tools.build:gradle:0.14.+”
Claudia Mardegan
5

Wygląda na to, że aktualna wersja wtyczki Android Gradle (0.12.2) współpracuje z Gradle w wersji nie późniejszej niż 1.12.

Nie znalazłem bezpośredniego oświadczenia na ten temat na stronie Narzędzia, jest tylko to zdanie:

Gradle 1.10 lub 1.11 lub 1.12 z wtyczką 0.11.1.

Ale ręcznie testowałem z Gradle 2.0 i 1.2 i to nie działa, więc uważam, że to ograniczenie ze strony Narzędzia nadal dotyczy wtyczki Android Gradle 0.12.2.

Sugerowałbym, aby nie wrócić do Gradle 1.12, ustawiając distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-bin.zip w swoim gradle-wrapper.propertiespliku.

Następnie użyj gradlewjak zwykle.

Alexey Dmitriev
źródło
4

Wtyczka Android wymaga określonej wersji Gradle. Najnowsza wersja wtyczki Androida wymaga 1.12, wersja wtyczki Androida zadeklarowana w twojej kompilacji wymaga 1.10.

Peter Niederwieser
źródło
2
To nie jest poprawne. Ostatnia wtyczka dla Androida to 0.11.1 i działa z gradle 1.10-1.11-1.12.
Gabriele Mariotti
Tak, na razie być może będę musiał użyć Gradle 1.12 zamiast 2.0-rc-1. Moja wtyczka to 0.11. +, Spróbuję zamiast tego z 1.12.
Nabdreas
2

Postępowałem zgodnie z metodą Wono na komputerze Mac i otrzymywałem błąd „nie znaleziono polecenia gradlew”. Naprawiono problem przez zmianę moda pliku gradlew

chmod + x gradlew

Mam nadzieję, że to pomoże innym

Raheel
źródło
0

Jeśli napotykasz ten problem, ponieważ przeniosłeś projekt opracowany przy użyciu starego Android Studio do nowego Android Studio, po prostu utwórz nowy projekt w nowym Android Studio i sprawdź krzyżowo pliki związane z gradle z nowo utworzonym projektem.

Praveena
źródło
0

JEŚLI POWYŻEJ NAPRAW, NIE PRÓBUJ TEGO

Musisz zmienić tę linię w build.gradle

classpath 'com.android.tools.build:gradle:0.9.+'

w

classpath 'com.android.tools.build:gradle:1.1.+'

musisz zmienić tę linię w swoim build.gradle

buildTypes {
        release {
            runProguard false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }

W

buildTypes {
        release {
             minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
kumar kundan
źródło