Bagaimana cara mengubah versi 'default gradle wrapper' di IntelliJ IDEA?

94

Saya ingin menggunakan Gradle 1.10, bukan 1.9. Saya tidak dapat menemukan tempat untuk mengubahnya.

Jika saya mengatakan ini:

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

di my build.gradleand rebuild, ini dibangun dengan Gradle 1.9 lagi (jadi sebenarnya tidak ada yang terjadi).

Ini sepertinya semua pengaturannya: (dan bagian bantuan IntelliJ tentang Gradle tidak membantu sama sekali :() Apa yang dimaksud dengan proyek "tidak dikonfigurasi untuk saat ini"?

Cowok
sumber
1
Apakah Anda meregenerasi pembungkus dengan gradle(w) wrappersetelah mengganti gradleVersion?
Peter Niederwieser
2
telah mencoba ini: stackoverflow.com/questions/24460299/… cukup hapus file pembungkus dan kemudian jalankan wrappertugas lagi
Selesai
Tidak perlu menghapus file apa pun.
Peter Niederwieser
1
Tugas Gradle bisa dijalankan dari IntelliJ, jadi Anda juga harus bisa menjalankan tugas pembungkus. Juga, mungkin inilah yang dimaksud dengan "menggunakan pembungkus gradle yang dapat disesuaikan" (tapi saya tidak yakin).
Peter Niederwieser
1
Terima kasih teman-teman atas bantuan Anda, saya berhasil membuatnya bekerja dengan mengubah ke pembungkus gradle yang dapat disesuaikan dan membuat ulang pembungkusnya dengan menjalankan wrappertugas. Saya masih bingung apa itu gradle wrapper default .
Bloke

Jawaban:

111

Cara termudah adalah dengan menjalankan perintah berikut dari command line (lihat Mengupgrade Gradle Wrapper dalam dokumentasi):

./gradlew wrapper --gradle-version 5.5

Selain itu, Anda dapat menggunakan --distribution-typeparameter dengan salah satu binatau allnilai untuk memilih jenis distribusi. Gunakan alltipe distribusi untuk menghindari petunjuk dari IntelliJ IDEA atau Android Studio yang akan menawarkan Anda untuk mendownload Gradle dengan sumber:

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

Atau Anda dapat membuat wrappertugas kustom

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

dan lari ./gradlew wrapper.

Michael
sumber
2
Jika menjalankan tugas di proyek akar yang berisi subproyek, jalankan ./gradlew :wrapperdengan titik dua di depan nama tugas.
Philippe
36

Buka file gradle/wrapper/gradle-wrapper.propertiesdalam proyek Anda. Ubah versi di distributionUrluntuk menggunakan versi yang ingin Anda gunakan, misalnya,

distributionUrl=https\://services.gradle.org/distributions/gradle-2.10-all.zip
Aperifons
sumber
4
lebih baik menggunakan tugas gradle yang mereka buat untuk tujuan ini sehingga skrip diperbarui dengan benar, dll.
dabluck
mereka juga memperbarui file dan skrip biner mereka, yang tidak akan Anda dapatkan kecuali Anda menjalankan tugas pembaruan. ini berpotensi menciptakan ketidakcocokan
dabluck
1
Ya. Lihat Mengupgrade Gradle Wrapper dalam dokumentasi Gradle.
Lu55
4

Saya hanya ingin berpadu bahwa saya menekan ini setelah memperbarui komponen Android Studio.

Yang berhasil untuk saya adalah membuka gradle-wrapper.properties dan memperbarui versi gradle yang digunakan. Sampai sekarang untuk proyek saya, barisnya berbunyi:

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

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

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

Untuk memeriksa:

 ./gradlew tasks

Untuk memasukkannya tanpa perintah:

buka-> gradle/wrapper/gradle-wrapper.properties url distribusi dan ubah ke versi zip yang diperbarui

keluaran:

 ./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 

sumber
2

Di build.gradletambah wrapper { gradleVersion = '6.0' }

kreker
sumber
1

Tugas 'pembungkus' dalam gradle dipanggil jika perintah gradlew digunakan, jika Anda menggunakan perintah gradle untuk membangun tugas pembungkus tidak dipanggil. Jadi, ada dua cara untuk mengubah versi gradle Anda.

  1. Gunakan perintah 'gradlew build', perintah ini akan memanggil tugas pembungkus yang Anda sebutkan. Tugas itu akan mengubah parameter 'distributionUrl' di file gradle-wrapper.properties dan secara otomatis akan mendownload versi gradle yang Anda inginkan. Contoh distributionUrl dalam file untuk versi 4.2. distributionUrl = https: //services.gradle.org/distributions/gradle-4.2-bin.zip

  2. Jika Anda tidak menggunakan gradle wrapper, cukup unduh versi gradle yang Anda inginkan dan setel jalur variabel lingkungan dan tunjukkan juga ke IDEA.

PS untuk informasi lebih lanjut tentang gradle wrapper saya sarankan Anda untuk membaca: https://docs.gradle.org/current/userguide/gradle_wrapper.html

M. Oguz Ozcan
sumber
1

Saya menghadapi masalah yang sama untuk mengubah versi gradle default dari 5.0 menjadi 4.7, Berikut adalah langkah-langkah untuk mengubah versi gradle default di intellij 1) Ubah versi gradle di gradle / wrapper / gradle-wrapper.properties di properti ini distributionUrl 2) Tekan tombol segarkan di menu proyek gradle sehingga akan mulai mengunduh versi zip gradle barumasukkan deskripsi gambar di sini


Saurabh
sumber
0

Pertama, biarkan gradle mengatur Url distribusi yang benar

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

Kemudian - mungkin tidak diperlukan tetapi itulah yang saya lakukan - edit build.gradle proyek agar sesuai dengan versinya

    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
}

Terakhir, hapus folder .gradle dan gradle serta file gradlew dan gradlew.bat. ( Jawaban Asli )

Sekarang, bangun kembali proyek tersebut.

Karena jawaban lain tidak cukup bagi saya dan komentar yang menunjukkan langkah-langkah tambahan ini mudah untuk dilupakan, di sini sebagai jawaban terpisah

lucidbrot.dll
sumber