วิธีใช้ gradle zip ในระบบโลคัลโดยไม่ต้องดาวน์โหลดเมื่อใช้ gradle-wrapper


89

ฉันกำลังพยายามสร้างโครงการ 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-wrapperฉันพบในหัวข้อ61.1 การกำหนดค่า

หากคุณไม่ต้องการให้การดาวน์โหลดใด ๆ เกิดขึ้นเมื่อโปรเจ็กต์ของคุณสร้างผ่าน gradlew เพียงแค่เพิ่ม Gradle distribution zip ลงในการควบคุมเวอร์ชันของคุณในตำแหน่งที่ระบุโดยการกำหนดค่า wrapper ของคุณ รองรับ 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
สิ่งนี้ขาดประเด็นหลักของ Wrapper ซึ่งก็คือ Gradle จะถูกดาวน์โหลดและติดตั้งโดยอัตโนมัติสำหรับผู้ใช้บิวด์ทั้งหมด หากคุณชอบที่จะใช้ติดตั้งภายในวางไว้บนเส้นทางของคุณและเรียกมากกว่าgradle gradlew
Peter Niederwieser

1
@PeterNiederwieser ใช่คุณพูดถูก ฉันมีการตั้งค่า PATH แต่ฉันต้องการลองใช้ wrapper ตามที่แนะนำ แต่ฉันไม่ต้องการดาวน์โหลด gradle zip อีกครั้ง นอกจากนี้ฉันยังใหม่กับการเรียน
TheKojuEffect

32
นี่เป็นเรื่องใหญ่หากคุณจำเป็นต้องส่งซอฟต์แวร์ให้กับผู้ที่ไม่มีอินเทอร์เน็ต ใช่นั่นคือสิ่งที่เกิดขึ้นจริงๆ มีคอมพิวเตอร์ที่ไม่ได้เชื่อมต่อกับอินเทอร์เน็ต
Chris Jones

3
ความจริงก็คือฉันไม่สามารถดาวน์โหลด gradle แบบ ternimal ช้าเกินไป
Shaw

3
หรือในวันเช่นวันนี้ที่เครือข่ายสำนักงานช้ามากนี่เป็นแฮ็คที่ดีที่จะก้าวต่อไป ... อย่าลืมย้อนกลับเมื่อความเร็วเครือข่ายเป็นปกติอีกครั้ง นอกจากนี้ยังเป็นเคล็ดลับที่ดีหากคุณมีการวัดแบนด์วิธฉันคิดว่า
สาธุ

42

แก้ไข gradle / gradle-wrapper.properties

Windows:

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

ลินุกซ์:

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

2
โดยปกติฉันใช้ Android Studio เวอร์ชัน windows แต่บางครั้งฉันก็เปิดโปรเจ็กต์ของฉันในระบบปฏิบัติการ Linux เป็นไปได้หรือไม่ที่จะกำหนดdistributionUrlวิธีการที่แพ็คเกจ Gradle ZIP สามารถเข้าถึงได้บนทั้งสอง OS โดยไม่ต้องเปลี่ยนdistributionUrlค่า
ir-tech

1
@ ir-tech คุณสามารถใช้เส้นทางสัมพันธ์เช่นไฟล์ \: ///../lib/gradle-2.2.1-all.zip
AAA

// อย่าใช้ android 8 เพราะจะดาวน์โหลดการแจกเกรดเรื่อย ๆ ใช้แพลตฟอร์มไอออนิกคอร์โดวาเกรด 7 เพิ่ม android@8.0.0 // นี่จะเรียกใช้แพลตฟอร์มไอออนิกคอร์โดวาเพิ่ม android@~7.1.1 - บันทึกแล้วเรียกใช้ด้านล่างและในครั้งนี้ มันควรจะได้รับความสำเร็จ (ทำงานให้ฉัน) ionic cordova build android
Anand_5050

16

เพียงลากไฟล์ gradle ที่ดาวน์โหลดมาในแถบที่อยู่ของเบราว์เซอร์จากนั้นคัดลอกที่อยู่จากแถบที่อยู่และเปลี่ยน gradle / wrapper / gradle-wrapper.properties ดังต่อไปนี้:

distributionUrl=ADDRESS THAT COPY FROM YOUR BROWSER

ตัวอย่าง:

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

หรือคุณสามารถคัดลอกไฟล์ gradle.zip ไปยังโฟลเดอร์ wrapper จากนั้นใช้เส้นทางสัมพัทธ์:

distributionUrl=gradle.zip

ไม่ทำงาน. distributionUrl รับการแก้ไขอัตโนมัติเป็น https \: //services.gradle.org/distributions/gradle-4.10.3-all.zip บน ionic cordova build android
Anand_5050

9

นี่คือสิ่งที่ฉันทำเพื่อหลีกเลี่ยงการแก้ไข gradle wrapper ทั้งหมดสำหรับโปรเจ็กต์ปัจจุบันและอนาคต

  • ค้นหาของคุณ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-x.xx-XXX.zip) ที่มีไบนารีได้ (เช่น. gradle-2.11-bin.zip| gradle-2.11-all.zip).

ดำเนินการgradlew.batบนหน้าต่างหรือgradleบน linux เพื่อเริ่มการทำงานของ wrapper เพื่อสร้างโปรเจ็กต์

มันจะเริ่มดาวน์โหลด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

Download Link จะเป็นแบบนี้: http://services.gradle.org/distributions/gradle-3.3-bin.zip

3- เปิดตำแหน่งนี้ C: \ Users \ userName.gradle \ wrapper \ dists \ gradle-3.3- ทั้งหมดและตรวจสอบให้แน่ใจว่ามีเพียงโฟลเดอร์เดียว (ชื่อไม่สำคัญว่าจะแตกต่างกันที่อุปกรณ์) หากมีโฟลเดอร์อื่นลบทั้งหมด และกด gradle sync บน android studio ซึ่งจะสร้างโฟลเดอร์ขึ้นมาใหม่โดยอัตโนมัติพร้อมชื่อสุ่ม

4- เปิดโฟลเดอร์นั้นและตรวจสอบให้แน่ใจว่ามีเพียงสองไฟล์สุดท้ายในภาพหน้าจอ

5- ย้ายไฟล์ zip ที่คุณดาวน์โหลดมาไว้ในโฟลเดอร์นั้น

6- กด sync gradle บน android studio อีกครั้งสมมติว่า gradle จะทำงานได้ดี

ใส่คำอธิบายภาพที่นี่


2

ผมพบอีกวิธีที่ง่ายที่สุดในการทำเพียงแค่เริ่มต้นเซิร์ฟเวอร์ XAMPP นี้ของฉันแล้วทำโฟลเดอร์ภายในgradle htdocsฉันเพิ่มไฟล์ซิปgradle-4.4-all.zipเข้าไปในโฟลเดอร์นั้น เปลี่ยน url การแจกจ่ายเป็นdistributionUrl=http\://localhost/gradle/gradle-4.4-all.zip ฉันรีสตาร์ท Android และการซิงค์เสร็จสมบูรณ์โดยไม่มีปัญหาใด ๆ


0

ฉันดาวน์โหลดเป็น

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

ภายใน Eclipse ฉันขอประกาศ: ใส่คำอธิบายภาพที่นี่


จากนั้นฉันสร้างโปรเจ็กต์ Gradle ใหม่ (พร้อม wrapper) เร็วมากไม่ต้องดาวน์โหลด (ง่ายกว่าวิธีนี้)


ใช่มันเร็ว จะแตกต่างจากคำตอบอื่น ๆ คือใช้ gradle ที่มีอยู่ในระบบมากกว่าการดาวน์โหลดการกระจายแบบ gradle ผ่าน http หรือ file protocol การคลายซิปและเรียกใช้งาน
Banee Ishaque K

ในกรณีของฉันประการแรกฉัน geos ด้วยวิธีการของ @edward anderson จากนั้นเปลี่ยนไปใช้วิธีของ wcc526 (เป็นการปรับเปลี่ยนวิธีการของ TheKojuEffect) แผนที่เป็นวิธีนี้
Banee Ishaque K

แต่ตอนนี้ฉันมีปัญหากับวิธีนี้ ฉันใช้ gradle-4.0-rc-3 ในระบบของฉัน แต่เวอร์ชันนั้นไม่สามารถใช้งานได้กับสตูดิโอ Android ล่าสุด (ฉันคิดว่าเวอร์ชันล่าสุดคือ 3.0-alpha6 แต่ฉันมี 3.0-alpha5) - มันมักจะเกิดข้อผิดพลาดจากเวอร์ชัน gradle ที่รองรับล่าสุดคือ gradle-4.0-milestone-1 เวอร์ชันของคุณคือ 4.0- RC-3. ฉันต้องดาวน์เกรดระบบของฉันเป็น 4.0-milestone-1 หรือใช้ gradle wrapper กับโปรเจ็กต์ android studio เสมอ มีวิธีแก้ปัญหาสำหรับปัญหานี้หรือไม่?
Banee Ishaque K

เพียงแค่ทำให้ gradle ทำงานใน IDE ของคุณ แต่ไม่ใช่คำสั่ง gradle เป็นวิธีที่ยอดเยี่ยมที่จะไม่สามารถใช้หรือเชื่อถือเครื่องมือสร้างของคุณเพื่อทำอะไรได้ คุณควรพยายามทำให้ IDE ทำงานหลังจากที่คุณตรวจสอบว่าการสร้างบรรทัดคำสั่งสำเร็จแล้ว การทำในทางกลับกันเป็นวิธีที่ดีในการสูญเสียชั่วโมงและวันในชีวิตของคุณโดยพยายามหาสาเหตุว่าทำไมสิ่งต่างๆจึงแตกต่างกันไปในแบบของคุณและเครื่องของคนอื่น ๆ ...
Ajax

0

สร้างเซิร์ฟเวอร์ในเครื่องเพื่อจำลองการดาวน์โหลด https (อาจจะซับซ้อนเล็กน้อย) แต่ใช้งานได้
1. ติดตั้ง tomcatจากนั้นเปิดเครื่องรูดและดำเนินการE:\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 ตัวอย่าง: path C: / My doc / tools

หากคุณมีช่องว่างบางส่วนในเส้นทางของคุณให้เปลี่ยนด้วย% 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

// สิ่งนี้จะทำงาน

แพลตฟอร์มไอออนิกคอร์โดวาเพิ่ม android@~7.1.1 - บันทึก

จากนั้นวิ่งด้านล่างและคราวนี้มันควรจะได้รับความสำเร็จ (ทำงานให้ฉัน)

ไอออนิกคอร์โดวาสร้าง Android

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.