Gradle versi 3.3 tidak mendukung metode forTask () di BuildActionExecuter


111

Saya baru saja memperbarui Android Studio saya menjadi 3.0 canary 1. Sekarang saya mengerjakan proyek saya yang sudah ada di Android Studio 3.0 canary 1. Secara default gradle: 3.0.0-alpha1 diatur dalam proyek saya: gradle_file. Jadi saya mengubah versi gradle saya menjadi 2.2.3 dan sekarang saya mendapatkan kesalahan ini:

Kesalahan: Gagal menyelesaikan eksekusi Gradle.

Penyebab: Versi Gradle yang Anda gunakan (3.3) tidak mendukung metode forTasks () di BuildActionExecuter. Dukungan untuk ini tersedia di Gradle 3.5 dan semua versi yang lebih baru.

Saya melampirkan file gradle saya di sini

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {
    repositories {
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:2.2.3'
        // NOTE: Do not place your application dependencies here; they belong
        // in the individual module build.gradle files
    }
}

allprojects {
    repositories {
        jcenter()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

5
Adakah yang bisa menyarankan bagaimana Anda memperbaikinya tanpa harus memperbarui versi gradle dan versi plugin android? Karena melakukan itu membutuhkan banyak perubahan lain yang tidak dapat kita lakukan karena beberapa kendala bisnis.
Sasuke Uchiha

Jawaban:


196

Saya baru saja mengalami masalah yang sama. Memperbaiki dengan mengubah Gradle distributionUrl di "gradle-wrapper.properties".

Inilah yang telah saya konfigurasikan:

#Wed Mar 22 16:13:58 BRT 2017
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

untuk lebih jelasnya

Video resmi untuk membantu migrasi https://www.youtube.com/watch?v=oBsbI8ICYKg

lihat juga komentar di bawah dari @TmTron


19
Bagi siapa pun yang ingin mengetahui distribusi terbaru, buka direktori services.gradle.org/distributions . Semuanya terdaftar
IG Pascual

4
Silakan baca komentar @IGPascual sebelum beralih ke versi tertentu, karena Anda bisa saja memperbarui versi ke versi terbaru yang tersedia saat ini. Saat komentar ini diposting, rilis saat ini adalah 4.0 (stabil). Jadi aman jika Anda mengganti kedistributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
HendraWD

4
Berhati-hatilah saat Anda membuka aplikasi multi-modul: Android Studio hanya dapat menampilkan satu bidang properti gradle-wrapper dalam tampilan Project-Android. untuk memastikan untuk mengubah semuanya, gunakan Find in Path (CTRL + SHIFT + F) dan cari distributionUrl .
TmTron

Saya juga menghadapi masalah yang sama dengan kesalahan di bawah ini Cause: The version of Gradle you are using (3.3) does not support the forTasks() method on BuildActionExecuter. Support for this is available in Gradle 3.5 and all later versions. Jadi saya telah memperbarui file gradle-wrapper.properties untukdistributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip
ViramP

1
Terima kasih atas perhatiannya, @TmTron, itu masalah saya. falico, jika Anda tidak keberatan, saya pikir akan bermanfaat untuk menyoroti komentar TmTron dalam jawaban Anda di atas.
BareMetalCoder

64

Ubah file "gradle-wrapper.properties".

Letakkan baris ini dan Sinkronkan Proyek-

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

Ini akan berhasil. Untuk Periksa services.gradle.org/distributions versi terbaru

Setelah diubah, Sinkronkan Proyek, Bersihkan , dan Buat Ulang proyek sekali dari menu Bangun .


4
Periksa services.gradle.org/distributions sebelum Anda mengubah ke versi tertentu, karena Anda dapat memperbarui versi ke versi terbaru yang tersedia saat ini. Saat komentar ini diposting, rilis saat ini adalah 4.0 (stabil). Jadi aman jika Anda mengubahnya distributionUrl=https\://services.gradle.org/distributions/g‌​radle-4.0-all.zip, karena lebih stabil daripada milestone-1versi
HendraWD

Ya, Anda benar, selalu lebih suka versi stabil daripada yang lain. Tapi tetap saja Anda bisa menggunakannya. @HendraWD Terima kasih atas komentarnya.
Kailas Bhakade

Memperbarui Android Studio dari 2.3 ke 3.0, Periksa pedoman resmi dari youtube.com/watch?v=oBsbI8ICYKg
Kailas Bhakade

28

Ini terjadi saat mencoba membuat apk debug.

SOLUSI: Perbarui versi Gradle ke 3.5

Arahkan ke File -> Project Structure -> Project -> Gradle Version = 3.5

Ini berfungsi untuk Android Studio 3.0

ini adalah gambar menu tempat Anda harus melakukan perubahan


Ini adalah solusi untuk mereka yang dengan sengaja tidak ingin meningkatkan ke gradle 4.
ram

Tidak. Itu diupgrade ke Gradle Versi 3.5, minimum untuk fungsionalitas yang ingin dia gunakan.
Quinton M.

14

Ikuti langkah-langkah di bawah ini:

  1. Buka proyek Anda di studio android
  2. Di menu Android, buka gradle-wrapper.properties
  3. Ubah baris url distribusi dengan baris di bawah ini

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

  1. Itu dia. Bangun proyek Anda sekarang.

Tangkapan layar dilampirkan untuk pemahaman lebih lanjut. masukkan deskripsi gambar di sini


Kesalahan: Tidak dapat membuat direktori induk untuk file kunci C: \ Users \ Kaveesh \ .gradle \ wrapper \ dists \ gradle-4.1-all \ bzyivzo6n839fup2jbap0tjew \ gradle-4.1-all.zip.lck
Kaveesh Kanwal

Ini menunjukkan masalah kunci. android studio tidak dapat membuat direktori.
Naveed Ahmad

5

Saya menyelesaikan masalah dengan changinf distributionUrl dalam kode berikut di file gradle-wrapper.properties

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

2

Setelah menambahkan ini dengan Gradle tingkat atas

// Top-level build file where you can add configuration options common to all sub-projects/modules.

buildscript {

    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.0-alpha9'

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

allprojects {
    repositories {
        jcenter()
        maven { url 'https://maven.google.com' }
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

1

Kami memiliki dua cara untuk mengatasinya.

  1. Anda dapat memperbarui versi gradle Anda dari produk versi awal menjadi 3.5;

  2. Atau, Anda dapat mengubah pembungkus gradle menjadi versi 4.1.

Semua cara itu berguna.



0
  1. Buka gradle-wrapper.properties
  2. Menggantikan:

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

Dengan:

distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
  1. Sekarang sinkronkan proyek

Klik di sini untuk lebih memahami


0

letakkan kode ini di file gradle-wrapper.properties dan itu akan bekerja dengan Anda

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.