Як використовувати gradle zip в локальній системі без завантаження під час використання gradle-обгортки


88

Я намагаюся створити проект gradle за допомогою gradle-wrapper ( gradlew).

Коли я будую за допомогою ./gradlew build, він виводить текст

Завантаження http://services.gradle.org/distributions/gradle-1.11-bin.zip

І я вже завантажую gradle-1.11-bin.zip окремо, і я не хочу завантажувати його знову, коли будую.

Отже, де я повинен розмістити gradle-1.11-bin.zip у своєму проекті чи системі, щоб мені не довелося завантажувати знову?

gradle / wrapper / gradle-wrapper.properties виглядає наступним чином.

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=http\://services.gradle.org/distributions/gradle-1.11-bin.zip

І я спробував скопіювати gradle-1.11-bin.zip у gradle / wrapper / dists, що не вирішило проблему.

Відповіді:


111

З документації до оболонки gradle я знайшов у розділі 61.1. Конфігурація

Якщо ви не хочете, щоб будь-яке завантаження відбувалося, коли ваш проект будується за допомогою gradlew, просто додайте zip-файл розподілу Gradle до елемента керування версіями в місці, вказаному конфігурацією обгортки. Підтримується відносна URL-адреса - ви можете вказати файл розповсюдження щодо розташування файлу gradle-wrapper.properties.

Отже, я змінив distributionUrl власність gradle-wrapper.propertiesна

distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=gradle-1.11-bin.zip

Потім я зробив копію gradle-1.11-bin.zipвgradle/wrapper/ .

Потім ./gradlew buildзавантажив локальну копію zip і побудував проект.


9
Це пропускає основний момент обгортки, а саме те, що Gradle завантажується та встановлюється автоматично для всіх користувачів збірки. Якщо ви віддаєте перевагу використовувати локальну інсталяцію, помістіть її на свій PATH і скористайтеся, gradleа не gradlew.
Петер Нідервізер,

1
@PeterNiederwieser Так, ти маєш рацію. Я налаштував PATH, але я хотів спробувати обгортку, як це рекомендується, але я не хотів завантажувати gradle zip знову. Крім того, я новачок у gradle.
TheKojuEffect

31
Це велика справа, якщо вам потрібно надіслати програмне забезпечення комусь, хто не має доступу до Інтернету. Так, це те, що насправді трапляється; є комп’ютери, які не підключені до Інтернету.
Кріс Джонс,

2
Правда в тому, що я ніколи не можу завантажувати gradle in ternimal, занадто повільно
Шоу

3
Або в такий день, як сьогодні, коли мережа офісів дуже повільна, це приємний хак, щоб продовжувати рухатися вперед. ... просто потрібно пам’ятати про повернення, як тільки швидкість мережі знову стане нормальною. Також гарна хитрість, якщо у вас виміряна пропускна здатність.
преподобний

39

Модифікуйте gradle / gradle-wrapper.properties

Windows:

distributionUrl=file\:/d:/gradle-2.2.1-all.zip

Linux:

distributionUrl=file\:/tmp/gradle-2.2.1-all.zip

2
Зазвичай я використовую Windows-версію Android Studio, але іноді відкриваю свої проекти в операційній системі Linux. Чи можна визначити distributionUrlтаким чином, щоб пакет Gradle ZIP був доступний в обох ОС без зміни distributionUrlзначення?
ir-tech

1
@ ir-tech, ти можеш використовувати відносний шлях, наприклад файл \: ///../lib/gradle-2.2.1-all.zip
AaA

// Не використовуйте android 8, оскільки він буде продовжувати завантажувати розподіл оцінок використовувати рівень 7 іонної платформи cordova add android@8.0.0 // Це буде запускати іонну платформу cordova add android@~7.1.1 --save Потім запустіть нижче і цього разу це повинно досягти успіху (Працювало для мене) ionic cordova build android
Anand_5050

15

Просто перетягніть завантажений файл gradle в адресний рядок браузера, а потім скопіюйте адресу з адресного рядка та змініть gradle / wrapper / gradle-wrapper.properties таким чином:

distributionUrl=ADDRESS THAT COPY FROM YOUR BROWSER

приклад:

distributionUrl=file:///E:/gradle/gradle-4.1-all.zip

або ви можете скопіювати файл gradle.zip у папку обгортки, а потім використати відносний шлях:

distributionUrl=gradle.zip

Не працює. distributionUrl отримати автокорекцію на https \: //services.gradle.org/distributions/gradle-4.10.3-all.zip на іонній кордовій збірці Android
Anand_5050

8

Це те, що я зробив, щоб уникнути редагування всієї оболонки gradle для поточних та майбутніх проектів.

  • Знайдіть свій файл gradle-wrapper.propertiesу папці проекту (наприклад,./gradle/wrapper/gradle-wrapper.properties )
  • відкрийте файл за допомогою текстового редактора, наприклад Sublime Text, щоб знайти distributionUrlрядок (наприклад,distributionUrl=http\://services.gradle.org/distributions/gradle-2.10-bin.zip

Потрібен двійковий архів gradle gradle-2.10-bin.zip. Інша версія gradle-2.10-all.zipвключає все, включаючи вихідний код та документацію.

Зверніть увагу, що кожен проект постачається з різними версіями дистрибутивів gradle, і ви можете змінити версію на ту, що у вас є ( gradle-x.xx-XXX.zip), яка включає двійковий файл. (наприклад. gradle-2.11-bin.zip| gradle-2.11-all.zip).

Виконайте gradlew.batу вікні або gradleна Linux, щоб запустити обгортку для побудови проекту.

Він почне завантажувати файл gradle-2.10-bin.zipдо .gradle\wrapper\distsвашого домашнього каталогу (наприклад,C:\Users\Sojimaxi\.gradle\wrapper\dists\gradle-2.10-bin ). Це завантаження відбувається лише один раз для кожної вказаної версії gradle.

Якщо ви вже завантажили архів, перш ніж зможете завершити завантаження за допомогою Ctrl+C

Перейдіть до місця завантаження gradle, C:\Users\Sojimaxi\.gradle\wrapper\dists\gradle-2.10-all\78v82fsf226usgvgh7q2ptcvifскопіюйте власну копію gradle-2.10-bin.zipдо цього каталогу, а потім видалітьgradle-2.10-all.zip.part у ньому каталог.

Це все. Поверніться до каталогу вашого проекту для виконання, gradlew.batі він використовуватиме вашу локальну копію замість завантаження нової.


відповідь на оплату @ wcc526, вона працює нормально та простіше у реалізації.
Banee Ishaque K

4

Це рішення не працювало для мене, але допомогло мені знайти правильний шлях, тому, якщо ви хочете встановити gradle в автономному режимі, виконайте такі дії:

1- у вашому проекті в каталозі gradle відкрийте цей файл (gradle-wrapper.properties)

2 - в останньому рядку ви знайдете версію gradle, завантажите її або скопіюєте файл з іншого ПК

distributionUrl=http\://services.gradle.org/distributions/gradle-3.3-bin.zip

Посилання для завантаження буде таким: http://services.gradle.org/distributions/gradle-3.3-bin.zip

3 - відкрийте це розташування C: \ Users \ userName.gradle \ wrapper \ dists \ gradle-3.3-all і переконайтеся, що є лише одна папка (назва не має значення, вона різниться на пристроях), якщо інші папки видаляють усі їх і натисніть gradle sync на андроїд-студії, яка автоматично згенерує іншу папку із випадковим ім'ям.

4- відкрийте цю папку та переконайтеся, що на скріншоті є лише два останні файли.

5- перемістіть завантажений zip-файл у цю папку

6- натисніть синхронізацію gradle на android studio ще раз, припустимо, що gradle буде працювати нормально.

введіть тут опис зображення


2

Я знайшов ще один найпростіший спосіб зробити це, щойно запустивши сервер XAMPP, а потім створивши папку gradleвсередині htdocs. Я додав заархівований файл gradle-4.4-all.zipвсередину цієї папки. Змінив URL-адресу розповсюдження на distributionUrl=http\://localhost/gradle/gradle-4.4-all.zip I restarted android, і синхронізація завершена без жодних проблем.


0

Я завантажую в

C:\data\Setup\Development\Gradle 2.11\gradle-2.11-all.zip

всередині Eclipse я заявляю: введіть тут опис зображення


Тоді я створюю новий проект Gradle (з обгорткою) дуже швидко, завантажувати не потрібно. (Легше, ніж це рішення )


так, це швидко. Оскільки, на відміну від інших відповідей, він використовує gradle, доступний у системі, ніж завантаження дистрибутива gradle за протоколом http або файлу, розпакування та виконання.
Banee Ishaque K

У моєму випадку, по-перше, я geos з методом @edward anderson. потім перейшов на метод wcc526 (це модифікація методу TheKojuEffect), принаймні до цього методу.
Banee Ishaque K

Але зараз у мене проблема з цим методом. я використовую gradle-4.0-rc-3 у своїй системі. але ця версія не працює остання версія андроїд-студії (я думаю, що остання версія 3.0-alpha6, але у мене є 3.0-alpha5) - вона завжди помилки останньої підтримуваної версії gradle - gradle-4.0-milestone-1, ваша версія 4.0- rc-3. я повинен знизити свій системний gradle до 4,0-етапу-1 або завжди використовувати оболонку gradle з проектами студії Android. чи є вирішення цієї проблеми?
Banee Ishaque K

Просто змусити gradle працювати у вашій IDE, але не командний рядок gradle - це чудовий спосіб не мати змоги використовувати або довіряти своєму інструменту збірки що-небудь робити. Вам слід намагатися змусити IDE працювати лише ПІСЛЯ того, як ви переконаєтесь, що збірка командного рядка успішна. Якщо зробити все навпаки, це чудовий спосіб втратити години та дні свого життя, намагаючись з’ясувати, чому на вашій машині та машині всіх інших випадково і по-різному ламаються ...
Аякс,

0

створити локальний сервер для знущання над завантаженням https (можливо, трохи складний), але це працює
1. встановіть tomcat, а потім розпакуйте та виконайте execE:\apache-tomcat-8.5.4\bin\startup.bat

2.вхід gradle-2.14.1-all.zipдоE:\apache-tomcat-8.5.4\webapps\ROOT\distributions

3. змініть url, як цей, distributionUrl=http\://localhost:8080/distributions/gradle-2.14.1-all.zip
тепер виконуйте як зазвичай


відповідь на оплату @ wcc526, вона працює нормально та простіше у реалізації.
Banee Ishaque K

0

скопіюйте свій шлях туди, куди ви покладете файл gradle-5.0-rc-5-bin.zip приклад: шлях C: / Мій документ / інструменти

якщо на вашому шляху є пробіли, змініть його за допомогою% 20

файл: /// C: /My%20doc/tools/gradle-5.0-rc-5-bin.zip

і виконайте команду:

$ gradlew wrapper --gradle-version 5.0-rc-5

0

// Не використовуйте android 8, оскільки він буде продовжувати завантажувати розподіл оцінок використання оцінки 7

іонна кордова платформа додати android@8.0.0

// Це буде працювати

ionic cordova platform add android@~7.1.1 --save

Потім запустите нижче, і цього разу це повинно отримати успіх (Працювало для мене)

іонна кордова побудувати андроїд

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