จะเปลี่ยนเวอร์ชันของ 'default gradle wrapper' ใน IntelliJ IDEA ได้อย่างไร?


94

ฉันต้องการใช้ Gradle 1.10แทน1.9 ดูเหมือนว่าฉันจะเปลี่ยนสิ่งนี้ไม่ได้

ถ้าฉันใส่สิ่งนี้:

task wrapper(type: Wrapper) {
    gradleVersion = '1.10'
}

ในของฉันbuild.gradleและสร้างใหม่มันถูกสร้างขึ้นด้วย Gradle 1.9อีกครั้ง (จึงไม่มีอะไรเกิดขึ้นจริง)

สิ่งเหล่านี้ดูเหมือนจะเป็นการตั้งค่าทั้งหมด: (และส่วนความช่วยเหลือของ IntelliJ เกี่ยวกับ Gradleไม่ได้ช่วยอะไรเลย :() โครงการ "ไม่ได้กำหนดค่าสำหรับโครงการปัจจุบัน" หมายความว่าอย่างไร


1
คุณสร้างกระดาษห่อหุ้มใหม่ด้วยgradle(w) wrapperหลังจากเปลี่ยนgradleVersionหรือไม่?
Peter Niederwieser

2
ได้ลองสิ่งนี้: stackoverflow.com/questions/24460299/…เพียงแค่ลบไฟล์ Wrapper จากนั้นดำเนินการwrapperอีกครั้ง
สิ้นสุด

ไม่ต้องลบไฟล์ใด ๆ
Peter Niederwieser

1
งาน Gradle สามารถรันได้จาก IntelliJ ดังนั้นคุณควรจะรันงาน wrapper ได้เช่นกัน นอกจากนี้นี่อาจเป็นสิ่งที่ "ใช้ gradle wrapper ที่ปรับแต่งได้" (แต่ไม่แน่ใจ)
Peter Niederwieser

1
ขอบคุณสำหรับความช่วยเหลือของคุณฉันสามารถทำให้มันใช้งานได้โดยเปลี่ยนเป็นgradle wrapper ที่ปรับแต่งได้และสร้าง wrapper ขึ้นมาใหม่โดยดำเนินการตามwrapperภารกิจ ฉันยังสับสนว่าจริงๆแล้วgradle wrapperคืออะไร
Bloke

คำตอบ:


111

วิธีที่ง่ายที่สุดคือดำเนินการคำสั่งต่อไปนี้จากบรรทัดคำสั่ง (ดูการอัพเกรด Gradle Wrapperในเอกสารประกอบ):

./gradlew wrapper --gradle-version 5.5

นอกจากนี้คุณสามารถใช้--distribution-typeพารามิเตอร์ที่มีอย่างใดอย่างหนึ่งbinหรือallค่าเพื่อเลือกประเภทการแจกจ่าย ใช้allประเภทการแจกจ่ายเพื่อหลีกเลี่ยงคำใบ้จาก IntelliJ IDEA หรือ Android Studio ที่จะให้คุณดาวน์โหลด Gradle พร้อมแหล่งที่มา:

./gradlew wrapper --gradle-version 5.5 --distribution-type all

หรือคุณสามารถสร้างwrapperงานแบบกำหนดเอง

task wrapper(type: Wrapper) {
    gradleVersion = '5.5'
}

./gradlew wrapperและเรียกใช้


2
หากรันงานในรูทโปรเจ็กต์ที่มีโปรเจ็กต์ย่อยให้รัน./gradlew :wrapperด้วยโคลอนหน้าชื่องาน
Philippe

36

เปิดไฟล์gradle/wrapper/gradle-wrapper.propertiesในโปรเจ็กต์ของคุณ เปลี่ยนเวอร์ชันในการdistributionUrlใช้เวอร์ชันที่คุณต้องการใช้เช่น

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip

4
ดีกว่าที่จะใช้งาน gradle ที่พวกเขาสร้างขึ้นเพื่อจุดประสงค์นี้เพื่อให้สคริปต์อัปเดตอย่างถูกต้อง ฯลฯ
dabluck

พวกเขายังอัปเดตไฟล์ไบนารีและสคริปต์ซึ่งคุณจะไม่ได้รับเว้นแต่คุณจะรันงานอัปเดต สิ่งนี้อาจสร้างความไม่เข้ากันได้
dabluck

1
ใช่. ดูการอัปเกรด Gradle Wrapperในเอกสาร Gradle
Lu55

4

ฉันแค่อยากจะตีระฆังว่าฉันกดปุ่มนี้หลังจากอัปเดตส่วนประกอบ Android Studio

สิ่งที่ได้ผลสำหรับฉันคือเปิด gradle-wrapper.properties และอัปเดตเวอร์ชัน gradle ที่ใช้ ณ ตอนนี้สำหรับโครงการของฉันบรรทัดอ่าน:

distributionUrl=https\://services.gradle.org/distributions/gradle-4.5-all.zip

3

./gradlew wrapper --gradle-version=5.4.1 --distribution-type=bin

https://gradle.org/install/#manually

เพื่อตรวจสอบ:

 ./gradlew tasks

ในการป้อนข้อมูลโดยไม่มีคำสั่ง:

ไปที่ -> gradle/wrapper/gradle-wrapper.properties url การแจกจ่ายและเปลี่ยนเป็นเวอร์ชัน zip ที่อัปเดต

เอาต์พุต:

 ./gradlew tasks
Downloading https://services.gradle.org/distributions/gradle-5.4.1-bin.zip
...................................................................................

Welcome to Gradle 5.4.1!

Here are the highlights of this release:
 - Run builds with JDK12
 - New API for Incremental Tasks
 - Updates to native projects, including Swift 5 support

For more details see https://docs.gradle.org/5.4.1/release-notes.html

Starting a Gradle Daemon (subsequent builds will be faster)

> Starting Daemon 


1

งาน 'wrapper' ใน gradle ถูกเรียกว่าถ้าใช้คำสั่ง gradlew ถ้าคุณใช้คำสั่ง gradle เพื่อสร้างงาน wrapper จะไม่ถูกเรียก ดังนั้นมีสองวิธีที่คุณสามารถเปลี่ยนเวอร์ชันของคุณได้

  1. ใช้คำสั่ง 'gradlew build' คำสั่งนี้จะเรียกงาน wrapper ที่คุณกล่าวถึง งานนั้นจะเปลี่ยนพารามิเตอร์ 'distributionUrl' ในไฟล์ gradle-wrapper.properties และจะดาวน์โหลดเวอร์ชัน gradle ที่คุณต้องการโดยอัตโนมัติ ตัวอย่าง distributionUrl ในไฟล์สำหรับเวอร์ชัน 4.2 distributionUrl = https: //services.gradle.org/distributions/gradle-4.2-bin.zip

  2. หากคุณไม่ได้ใช้ gradle wrapper เพียงดาวน์โหลดเวอร์ชันของ gradle ที่คุณต้องการและกำหนดเส้นทางตัวแปรสภาพแวดล้อมและแสดงให้ IDEA ดู

ป.ล. สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ gradle wrapper ฉันแนะนำให้คุณอ่าน: https://docs.gradle.org/current/userguide/gradle_wrapper.html


1

ฉันประสบปัญหาเดียวกันในการเปลี่ยนเวอร์ชัน gradle เริ่มต้นจาก 5.0 เป็น 4.7 ด้านล่างนี้เป็นขั้นตอนในการเปลี่ยนเวอร์ชันของ gradle เริ่มต้นใน intellij 1) เปลี่ยนเวอร์ชันของ gradle ใน gradle / wrapper / gradle-wrapper.properties ในการกระจายคุณสมบัตินี้ 2) กดปุ่มรีเฟรช ในเมนูโปรเจ็กต์ gradle เพื่อที่จะเริ่มดาวน์โหลด gradle zip เวอร์ชันใหม่ป้อนคำอธิบายภาพที่นี่



0

ก่อนอื่นให้ gradle ตั้งค่า URL การแจกจ่ายที่ถูกต้อง

cd projectDirectory
./gradlew wrapper --gradle-version 2.3.0

จากนั้น - อาจไม่จำเป็น แต่นั่นคือสิ่งที่ฉันทำ - แก้ไข build.gradle ของโครงการให้ตรงกับเวอร์ชัน

    dependencies {
    classpath 'com.android.tools.build:gradle:2.3.0'

    // NOTE: Do not place your application dependencies here; they belong
    // in the individual module build.gradle files
}

สุดท้ายลบโฟลเดอร์. gradle และ gradle และไฟล์ gradlew และ gradlew.bat ( คำตอบเดิม )

ตอนนี้สร้างโครงการใหม่

เนื่องจากคำตอบอื่น ๆ ไม่เพียงพอสำหรับฉันและความคิดเห็นที่ชี้ให้เห็นขั้นตอนเพิ่มเติมเหล่านี้เป็นเรื่องง่ายที่จะมองข้ามนี่เป็นคำตอบแยกต่างหาก

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