Gradle version 3.3 does not support forTask() method on BuildActionExecuter

Viewed 77880

I just updated my Android Studio to 3.0 canary 1. Now I am working on my existing project on Android Studio 3.0 canary 1. By default gradle:3.0.0-alpha1 is set in my project: gradle_file. So I changed my gradle version to 2.2.3 and now I'm getting this error:

Error:Failed to complete Gradle execution.

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.

I attached my gradle file here

// 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
}
10 Answers

This happened when trying to build debug apk.

SOLUTION: Update Gradle version to 3.5

Navigate to File -> Project Structure -> Project -> Gradle Version = 3.5

This works for Android Studio 3.0

this is the image of the menu where you have to make the change

Please follow the below steps:

  1. Open your project in android studio
  2. In Android menu, open gradle-wrapper.properties
  3. Change the distribution url line with the below line

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

  1. Thats it. Build your project now.

Screenshot is attached for more understanding. enter image description here

I resolved the issue by changinf distributionUrl in the following code in gradle-wrapper.properties file

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

Once add these with Top level Gradle

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

We have two way to deal with it.

  1. You can update your gradle's version from the early one to 3.5 version product;

  2. Or,you can figure your gradle wrapper to 4.1 version.

All of the ways are both useful.

  1. Open gradle-wrapper.properties
  2. Replace:

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

With:

distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
  1. Now sync project

Click here for more understand

Related