Подтвердить что ты не робот

Android Studio: "Использовать по умолчанию gradle обертку" против "Использовать настраиваемый gradle обертку"

В чем разница между настройками Android Studio Gradle:

Android Studio->Preferences->Gradle

Use default gradle wrapper (recommended) и Use customizable gradle wrapper?

Фон:

Я работаю над проектом Android в Android Studio и обертки Gradle.

Однако, когда я использую настройки Android Studio "Использовать настраиваемую оболочку gradlew" каждый раз, когда члены моей команды синхронизируют проект Android Studio с помощью команды gui:

enter image description here

они находят обновленную дату gradle/wrapper/gradle-wrapper.properties (и приводят к дополнительным различиям в репо git).

Переключение на "Использовать по умолчанию Gradle обертку", похоже, решает эту проблему.

4b9b3361

Ответ 1

См. справку IntelliJ IDEA здесь:

  • Использование оболочки Gradle по умолчанию означает, что Gradle контролирует номер версии
  • Использование настраиваемой оболочки Gradle означает, что IDEA контролирует номер версии оболочки Gradle.

Номер версии хранится в gradle/wrapper/gradle-wrapper.properties. Поэтому, когда вы выбираете "использование настраиваемой оболочки Gradle" каждый раз, когда открываете проект с IDEA, он изменяет файл свойств, чтобы настроить версию оболочки, указанную в проекте IDEA.

Ради повторяющихся сборок (даже на вашем сервере непрерывной сборки, на котором не запускается IDEA), пусть Gradle контролирует номер версии и использует упаковщик по умолчанию для градла.

Вы можете установить номер версии, который используется Gradle внутри вашего build.gradle с помощью

// needs at least Gradle V1.7
wrapper {
    gradleVersion = '2.2.1'
}

или

// works with every Gradle version
task wrapper(type: Wrapper) {
    gradleVersion = '2.2.1'
}

Примечание: не забывайте, что эта конфигурация используется только для создания оболочки. Чтобы активировать его, вы должны выполнить генерацию с помощью gradlew wrapper. Эта задача обновляет gradle-wrapper.properties, который впоследствии используется для всех выполнений оболочки.