Як змінити версію `` обгортки gradle за замовчуванням '' в IntelliJ IDEA?


94

Я хочу використовувати Gradle 1.10 замість 1.9. Здається, я не можу знайти, де це змінити.

Якщо я поставлю це:

task wrapper(type: Wrapper) {
    gradleVersion = '1.10'
}

у моєму build.gradleта rebuild, він знову побудований з Gradle 1.9 (так що насправді нічого не відбувається).

Здається, це всі налаштування: (а розділ довідки IntelliJ про Gradle зовсім не допомагає :() Що означає проект "не налаштовано на поточний"?


1
Ви регенерували обгортку gradle(w) wrapperпісля зміни gradleVersion?
Пітер Нідервізер

2
спробував це: stackoverflow.com/questions/24460299/… просто видаліть файли обгортки, а потім виконайте wrapperзавдання ще раз
Кінець

Не потрібно видаляти будь-які файли.
Пітер Нідервізер

1
Завдання Gradle можна запускати з IntelliJ, тому ви також повинні мати можливість запускати завдання обгортки. Також, можливо, саме про це йдеться про "використання настроюваної оболонки gradle" (але я не впевнений).
Пітер Нідервізер

1
Дякую, хлопці, за вашу допомогу, мені вдалося змусити це працювати, змінивши налаштовувальну оболонку gradle та регенеруючи обгортку, виконавши wrapperзавдання. Однак мене все ще бентежить, що насправді є оболонкою gradle .
Bloke

Відповіді:


111

Найпростіший спосіб - виконати наступну команду з командного рядка (див. Оновлення Gradle Wrapper в документації):

./gradlew wrapper --gradle-version 5.5

Більше того, ви можете використовувати --distribution-typeпараметр з будь-яким binабо allзначенням, щоб вибрати тип розподілу. Використовуйте allтип розповсюдження, щоб уникнути натяків від IntelliJ IDEA або Android Studio, які запропонують вам завантажити Gradle з джерелами:

./gradlew wrapper --gradle-version 5.5 --distribution-type all

Або ви можете створити власне wrapperзавдання

task wrapper(type: Wrapper) {
    gradleVersion = '5.5'
}

і біжи ./gradlew wrapper.


2
Якщо завдання виконується в кореневому проекті, що містить підпроекти, запустіть ./gradlew :wrapperдвокрапку перед назвою завдання.
Філіпп

36

Відкрийте файл gradle/wrapper/gradle-wrapper.propertiesу своєму проекті. Змініть версію в distributionUrlдля використання тієї версії, яку ви хочете використовувати, наприклад,

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

4
краще використати для цього завдання gradle, яку вони створили, щоб сценарії належним чином оновлювались тощо
dabluck

вони також оновлюють свої двійкові файли та сценарії, які ви не отримуєте, якщо не запустите завдання оновлення. це потенційно може створити несумісність
dabluck

1
Так. Див. Розділ Оновлення обгортки Gradle у документації Gradle.
Lu55

3

Я просто хотів пересвідчитись, що вдарив це після оновлення компонентів Android Studio.

Мені вдалося відкрити gradle-wrapper.properties та оновити використовувану версію gradle. Наразі для моїх проектів у рядку написано:

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

3

./gradlew wrapper --gradle-version=5.4.1 --distribution-type=bin

https://gradle.org/install/#manually

Перевіряти:

 ./gradlew tasks

Щоб ввести його без команди:

перейдіть до-> gradle/wrapper/gradle-wrapper.properties URL розподілу та змініть його на оновлену zip-версію

вихід:

 ./gradlew tasks
Downloading https://services.gradle.org/distributions/gradle-5.4.1-bin.zip
...................................................................................

Welcome to Gradle 5.4.1!

Here are the highlights of this release:
 - Run builds with JDK12
 - New API for Incremental Tasks
 - Updates to native projects, including Swift 5 support

For more details see https://docs.gradle.org/5.4.1/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

> Starting Daemon 


1

Завдання 'обгортка' у gradle викликається, якщо використовується команда gradlew, якщо ви використовуєте команду gradle для побудови обгортки, завдання не викликається. Отже, є два способи змінити версію gradle.

  1. Використовуйте команду 'gradlew build', ця команда викличе завдання обгортки, яке ви згадали. Це завдання змінить параметр 'DistributionUrl' у файлі gradle-wrapper.properties, і воно автоматично завантажить потрібну версію gradle. Приклад DistributionUrl у файлі версії 4.2. DistributionUrl = https: //services.gradle.org/distributions/gradle-4.2-bin.zip

  2. Якщо ви не використовуєте оболонку gradle, просто завантажте потрібну версію gradle та встановіть шлях змінної середовища, а також покажіть її IDEA.

PS для отримання додаткової інформації про оболонку gradle. Пропоную вам прочитати: https://docs.gradle.org/current/userguide/gradle_wrapper.html


1

Я зіткнувся з тією ж проблемою для зміни версії gradle за замовчуванням з 5.0 на 4.7. Нижче наведені кроки, щоб змінити версію gradle за замовчуванням в intellij 1) Змінити версію gradle у gradle / wrapper / gradle-wrapper.properties у цьому розподілі властивостей Url 2) Натиснути кнопку оновлення у меню проектів gradle, щоб воно почало завантажувати нову версію gradle zipвведіть тут опис зображення



0

Спочатку дозвольте gradle встановити правильний Url розподілу

cd projectDirectory
./gradlew wrapper --gradle-version 2.3.0

Тоді - можливо, не знадобиться, але це те, що я зробив - відредагуйте build.gradle проекту відповідно до версії

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

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

Нарешті, видаліть папки .gradle і gradle та файли gradlew та gradlew.bat. ( Оригінальна відповідь )

Тепер відновіть проект.

Оскільки інших відповідей для мене було недостатньо, і коментар із зазначенням цих додаткових кроків легко пропустити, тут окрема відповідь

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.