Ответы:
Разница заключается в том, что ./gradlew
вы используете упаковщик Gradle. Оболочка, как правило, является частью проекта, и это облегчает установку Gradle. Если бы вы использовали gradle без оболочки, вам пришлось бы установить его вручную - например, на Mac, brew install gradle
а затем вызвать gradle с помощью gradle
команды. В обоих случаях вы используете gradle, но первый более удобен и обеспечивает согласованность версий на разных машинах.
Каждый Wrapper привязан к определенной версии Gradle, поэтому при первом запуске одной из приведенных выше команд для данной версии Gradle он загрузит соответствующий дистрибутив Gradle и использует его для выполнения сборки.
Это не только означает, что вам не нужно вручную устанавливать Gradle, но вы также обязательно используете версию Gradle, для которой предназначена сборка. Это делает ваши исторические постройки более надежными
Узнайте больше здесь - https://docs.gradle.org/current/userguide/gradle_wrapper.html
Кроме того, в Udacity есть аккуратное видео высокого уровня, объясняющее концепцию упаковщика gradle - https://www.youtube.com/watch?v=1aA949H-shk
gradlew
это обертка (w - символ), которая использует gradle
.
Под капотом gradlew
выполняет три основные вещи:
gradle
версиюgradle
задачиИспользуя Gradle Wrapper, мы можем распространять / передавать проект всем, чтобы использовать одну и ту же версию и функциональность Gradle (компилировать, собирать, устанавливать ...), даже если он не был установлен.
Чтобы создать оболочку, выполните:
gradle wrapper
Эта команда генерирует:
gradle-wrapper.properties
будет содержать информацию о распределении Gradle