Як змінити версію `` обгортки 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.