Потрібна версія Gradle 1.10. Поточна версія 2.0


80

Я намагаюся використовувати останню версію Gradle (2.0), однак я продовжую отримувати це повідомлення, коли натискаю gradle build у терміналі. Чому він вимагає версію 1.10? Я новачок у Gradle, тому намагаюся розібратися в цьому.

Потрібна версія Gradle 1.10. Поточна версія 2.0

Ось мої залежності (файл build.gradle модуля):

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

... та завдання обгортки:

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

Крім того, я встановив URL-адресу розповсюдження наступним чином (у файлі local.properties):

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

File->Settings->GradleНарешті , в тому , що я вибрав "Використовувати настроювану обгортку gradle"

GRADLE_HOME встановлено значення C: \ Program Files (x86) \ Gradle \ gradle-2.0

Файл 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"
}

ОНОВЛЕННЯ1

На даний момент я використовую цей Android Studio 1.1.0 з версією плагіна 1.1.0-rc1

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

Версія Gradle - це 2.3 у gradle-wrapper.properties

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

Я спробував плагін версії 1.1.0, але тоді він скаржиться на com.android.application

ОНОВЛЕННЯ 01/2016

На даний момент я використовую розподіл gradle 2.9 у gradle -> обгортка -> gradle-wrapper.properties

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

і плагін є

classpath 'com.android.tools.build:gradle:1.5.0'

Чи можете ви опублікувати файл build.gradle, будь ласка?
apmartin1991

Проблема все ще є. плагін встановлений на 0,12 + і ім, використовуючи офіційний реліз Gradle 2.0. Не можу знайти будь-яких слідів 1.10. Чому він просить про це :(
Nabdreas

Ви створили обгортку для 1.10? У мене такі ж проблеми. Будь ласка, опублікуйте оновлення, якщо у вас це працює. Я щойно повернувся до проекту, заснованого на gradle, і не можу його знову запустити, незважаючи на спроби відновити обгортки.
RichieHH

Ні, не пощастило з 2.0, я використовував зараз 1.12. Якщо мені вдасться знайти рішення, я обов'язково його опублікую! Що може допомогти, це видалення папки .gradle у C: / User. Мені довелося це зробити, щоб 1,12 працював
Набдреас,

Якщо це допомагає, як зараз, я використовую Gradle 2.2.1, Плагін 1.0.1 та AS версії 1.1 Preview 2. Без проблем.
Набдреас

Відповіді:


66

Версія плагіна Android gradle повинна бути сумісною з версією Gradle. Оформити таблицю зіставлення сумісності версій .

таблиця відображення сумісності


63
Чесно кажучи, це показує, наскільки насправді німий плагін, коли він не може використовувати останню версію Gradle. Серйозно Google ??? Здається, пекло DLL, яке Microsoft пережила десятки років тому. Отримайте за допомогою Google.
AndroidDev

5
OMG це настільки дурно і надокучливо, Android Studio робить це при кожній синхронізації і автоматично знижує її для мене, я перебуваю на 0.14.4 і Gradle 2.2, але він розпізнає лише Gradle 2.1 Хтось знає, як відключити цю перевірку?
Боб

2
@Bob спробуйте використати gradle 2.2.1, я змінив gradle на 2.2 і плагін до 0.14.4, і він просив gradle 2.1, але змінивши його на 2.2.1 це виправило.
Nabdreas

2
Як щодо Android Studio 1.0.1?
Саурон

2
@Sauron, який можна використовувати 1.0.+для Плагіна та 2.2.1для Gradle
Густаво Барбоза

64

Повідомлення: "Потрібна Gradle версії 1.10. Поточна версія 2.0"

Виникає, коли: Спроба побудувати проект Android, який вимагає версії 1.10 Gradle, використовуючи версію 2.0 як рідну.

Рішення: Використання Gradle Wrapper

Кроки:

  1. Переконайтесь, що DistributionUrl вказано як gradle-1.10-all.zip у файлі властивостей Gradle-wrapper у проекті Android. Шлях до файлу буде таким:

    MyAndroidProject / gradle / wrapper / gradle-wrapper.properties

  2. Запустіть команду Gradle Wrapper на самому верхньому рівні проекту, де розташовані виконувані сценарії (тобто gradlew та gradlew.bat ).

    Для Unix-подібних ОС:

    ./gradlew обгортка

    Для ОС Windows :

    обгортка gradlew.bat

  3. Запустіть команду build за допомогою Gradle Wrapper.

    Для Unix-подібних ОС:

    ./gradlew build

    Для ОС Windows :

    gradlew.bat побудувати


1
Це спрацювало для мене. При цьому, я повинен був встановити JDK і слідувати після stackoverflow.com/questions/17587751 / ...
Chank

1
Це зводило мене з розуму, що мій дистрибутив Url був встановлений до останньої версії, але версія gradle на моїй машині не була, і sinhronizacija gradle в андроїд-студії нічого не зробила! Запуск './gradlew wrapper' у терміналі в андроїд-студії був саме тим, що мені потрібно, прикро, що Google не зробив цього простішим / очевиднішим ...
AndroidNoob

16

Я виправляю проблему оновлення версії gradle у файлі build.gradle:

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

}

Це вирішить мою проблему. Сподіваюся, це допомогло б.


3
з gradle 2.1 вам знадобляться залежності {classpath 'com.android.tools.build:gradle-0.13.+'}
Peter Szanto

1
так, ви маєте рацію, але з gradle 2.1 я хотів би використовувати 'залежності {classpath' com.android.tools.build:gradle-0.13.2 '}', якщо ви не використовуєте. + в кінці .
Mr.Moustard,

Працював, коли: залежності {classpath 'com.android.tools.build:gradle-0.13.2'}, я вирішив проблему на своїх кінцях, замінивши "com.android.tools.build:gradle-0.12.+" дивно полягає в тому, що я думаю, що оригінал захоплений 'com.android.tools.build:gradle-0.13.2'
sweetiew буде

1
Про всяк випадок, коли ви використовуєте Gradle 2.1.1, вам слід вказати
шлях до класу

5

Схоже, поточна версія плагіна Android Gradle (0.12.2) працює з Gradle версії не пізніше 1.12.

Я не знайшов прямого твердження про це на сайті Інструменти, є лише ця фраза:

Gradle 1.10 або 1.11 або 1.12 з плагіном 0.11.1.

Але я тестував вручну з Gradle 2.0 та 1.2, і він не працює, тому я вважаю, що це обмеження з веб-сайту Інструменти все ще застосовується до плагіна Android Gradle 0.12.2.

Я б запропонував повернутися до Gradle 1.12, встановивши distributionUrl=http\://services.gradle.org/distributions/gradle-1.12-bin.zip у вашому gradle-wrapper.propertiesфайлі.

Тоді просто використовуйте gradlewяк зазвичай.


4

Для плагіна Android потрібна певна версія Gradle. Остання версія плагіна Android вимагає 1.12, версія плагіна Android, заявлена ​​у вашій збірці, вимагає 1.10.


2
Це неправильно. Останній плагін для Android - 0.11.1 і працює з gradle 1.10-1.11-1.12.
Габріеле Маріотті

Так, мені зараз, можливо, доведеться використовувати Gradle 1.12 замість цього 2.0-rc-1. Мій плагін - 0,11. +, Я спробую замість нього 1,12.
Набдреас,

2

Я слідував методу wono на mac, і я отримував помилку "gradlew command not found". Виправлена ​​помилка зміною моди файлу gradlew

chmod + x gradlew

Сподіваюсь, це допоможе іншим


0

Якщо у вас виникає ця проблема, оскільки ви перенесли проект, розроблений за допомогою старої студії Android, в нову Android Studio, тоді просто створіть новий проект у новій Android Studio і перевірте свої файли, пов'язані з gradle, за допомогою нещодавно створеного проекту.


0

ЯКЩО ВИЩЕ ВИПРАВЛЕННЯ, НЕ РОБОТАЙТЕ, СПРОБУЙТЕ ЦЕ

Ви повинні змінити цей рядок в build.gradle

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

в

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

вам потрібно змінити цей рядок у вашому build.gradle

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

В

buildTypes {
        release {
             minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.txt'
        }
    }
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.