Gradle sürüm 3.3, BuildActionExecuter'da forTask () yöntemini desteklemiyor


111

Android Studio'umu 3.0 canary 1'e güncelledim. Şimdi Android Studio 3.0 canary 1'de mevcut projem üzerinde çalışıyorum. Varsayılan olarak gradle: 3.0.0- alpha1 projemde ayarlandı: gradle_file. Bu yüzden gradle sürümümü 2.2.3 olarak değiştirdim ve şimdi şu hatayı alıyorum:

Hata: Gradle yürütmesi tamamlanamadı.

Neden: Kullandığınız Gradle sürümü (3.3), BuildActionExecuter'da forTasks () yöntemini desteklemiyor. Bunun için destek Gradle 3.5 ve sonraki tüm sürümlerde mevcuttur.

Gradle dosyamı buraya ekledim

// 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
Gradle sürümünü ve android eklenti sürümünü güncellemenize gerek kalmadan bunları nasıl düzeltebileceğinizi kimse önerebilir mi? Çünkü bunu yapmak, bazı ticari kısıtlamalar nedeniyle yapamayacağımız birçok başka değişikliği gerektiriyor.
Sasuke Uchiha

Yanıtlar:


196

Ben de aynı sorunu yaşadım. "Gradle-wrapper.properties" içindeki Gradle distributionUrl değiştirilerek düzeltildi.

İşte yapılandırdığım şey:

#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

daha fazla ayrıntı için

Taşımaya yardımcı olacak resmi video https://www.youtube.com/watch?v=oBsbI8ICYKg

@TmTron'dan aşağıdaki yoruma da bakın


19
En son dağıtımı öğrenmek isteyenler için services.gradle.org/distributions dizinine gidin . Hepsi listeleniyor
IG Pascual

4
Lütfen belirli sürüme geçmeden önce @IGPascual açıklamasını okuyun, çünkü sürümü şu anda mevcut olan en yeni sürüme güncelleyebilirsiniz. Bu yorum yayınlandığında, mevcut sürüm 4.0'dır (kararlı). Bu yüzden değiştirirseniz güvenlidirdistributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
HendraWD

4
Çok modüllü bir uygulama açtığınızda dikkatli olun: Android Studio, Project-Android görünümünde size yalnızca bir gradle-wrapper özelliği alanı gösterebilir. değişim her şeyi, kullanımı emin olmak için Yoldaki Bul (CTRL + SHIFT + F) ve aramak distributionUrl .
TmTron

Ayrıca aşağıdaki hata ile aynı sorunla karşılaştım 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. Bu yüzden gradle-wrapper.properties dosyasını güncelledimdistributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip
ViramP

1
Dikkatiniz için teşekkür ederim @TmTron, bu benim sorunumdu. falico, sakıncası yoksa yukarıdaki cevabınızda TmTron'un yorumunu vurgulamanın faydalı olacağını düşünüyorum.
BareMetalCoder

64

"Gradle-wrapper.properties" dosyasında değişiklik yapın .

Bu satırı koyun ve Sync Project-

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

Bu çalışacak. En son sürümü kontrol etmek için services.gradle.org/distributions

Değiştirildikten sonra, Projeyi Senkronize Et , Temizle ve Yeniden Oluştur projesini Build menüsünden bir kez yapın .


4
Belirli bir sürüme geçmeden önce services.gradle.org/distributions adresini kontrol edin , çünkü sürümü şu anda mevcut olan en son sürüme güncelleyebilirsiniz. Bu yorum yayınlandığında, mevcut sürüm 4.0'dır (kararlı). Bu nedenle, sürümüne distributionUrl=https\://services.gradle.org/distributions/g‌​radle-4.0-all.zipgöre daha kararlı olduğu için değiştirirseniz güvenlidirmilestone-1
HendraWD

Evet, haklısınız, her zaman diğerlerinden daha kararlı sürümü tercih edin. Ama yine de kullanabilirsiniz. @HendraWD Yorum için teşekkürler.
Kailas Bhakade

Android Studio'yu 2.3'ten 3.0'a güncelleme, youtube.com/watch adresindeki
V=oBsbI8ICYKg

28

Bu, hata ayıklama apk'sini oluşturmaya çalışırken oldu.

ÇÖZÜM: Gradle sürümünü 3.5'e güncelleyin

Dosyaya Git -> Proje Yapısı -> Proje -> Gradle Sürümü = 3.5

Bu, Android Studio 3.0 için çalışıyor

bu, değişikliği yapmanız gereken menünün görüntüsüdür


Bu, kasıtlı olarak 4. sınıfa yükseltmek istemeyenler için bir çözümdür.
ram

Öyle değil. Kullanmak istediği işlevsellik için minimum olan Gradle Sürüm 3.5'e yükseltir.
Quinton M.

14

Lütfen aşağıdaki adımları izleyin:

  1. Projenizi android stüdyosunda açın
  2. Android menüsünde gradle-wrapper.properties dosyasını açın
  3. Dağıtım url satırını aşağıdaki satırla değiştirin

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

  1. Bu kadar. Projenizi şimdi oluşturun.

Daha fazla anlayış için ekran görüntüsü eklenmiştir. görüntü açıklamasını buraya girin


Hata: C: \ Users \ Kaveesh \ .gradle \ wrapper \ dists \ gradle-4.1-all \ bzyivzo6n839fup2jbap0tjew \ gradle-4.1-all.zip.lck
Kaveesh Kanwal

Kilit sorununu gösteriyor. android studio dizini oluşturamıyor.
Naveed Ahmad

5

Sorunu gradle-wrapper.properties dosyasındaki aşağıdaki kodda changinf distributionUrl ile çözdüm

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

2

Bunları bir kez Üst Düzey Gradle ile ekleyin

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

Bununla başa çıkmanın iki yolu var.

  1. Gradle'ınızın sürümünü ilk sürümden 3.5 sürüm ürününe güncelleyebilirsiniz;

  2. Veya gradle paketleyicinizi 4.1 sürümüne getirebilirsiniz.

Her iki yöntem de kullanışlıdır.



0
  1. Gradle-wrapper.properties dosyasını açın
  2. Değiştir:

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

İle:

distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
  1. Şimdi projeyi senkronize et

Daha fazla anlamak için burayı tıklayın


0

bu kodu gradle-wrapper.properties dosyasına koyun ve sizinle birlikte çalışacaktır

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.