Ответы:
Разница заключается в том, что ./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