Gradle 版本 3.3 不支持 BuildActionExecuter 上的 forTask() 方法

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

我刚刚将 Android Studio 更新到 3.0 Canary 1。 现在我正在 Android Studio 3.0 canary 1 上处理我现有的项目。 默认情况下 gradle:3.0.0-alpha1 在我的项目中设置:gradle_file。 所以我将 gradle 版本更改为 2.2.3,现在出现此错误:

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.

我在此处附上了我的 gradle 文件

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

我刚刚遇到了同样的问题。通过在 "gradle-wrapper.properties".

中更改 Gradle distributionUrl 来修复它

这是我配置的:

#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

了解更多详情

帮助迁移的官方视频 https://www.youtube.com/watch?v=oBsbI8ICYKg

另请参阅@TmTron 的下方评论

文件更改 "gradle-wrapper.properties".

把这条线和同步项目-

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

这行得通。查看最新版本 services.gradle.org/distributions

更改后,Sync Project,Clean and Rebuild project once from 构建菜单。

一旦将这些添加到顶级 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
}

请按照以下步骤操作:

  1. 在 android 工作室中打开您的项目
  2. 在Android菜单中,打开gradle-wrapper.properties
  3. 将分布 url 行更改为以下行

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

  1. 就是这样。立即构建您的项目。

附上屏幕截图以供更多理解。

我在 gradle-wrapper.properties 文件

中的以下代码中通过 changinf distributionUrl 解决了这个问题
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip

这发生在尝试构建调试 apk 时。

解决方案: 将 Gradle 版本更新为 3.5

导航至 文件 -> 项目结构 -> 项目 -> Gradle 版本 = 3.5

This works for Android Studio 3.0

我们有两种处理方式

  1. 您可以将 gradle 的版本从早期版本更新到 3.5 版本产品;

  2. 或者,您可以将 gradle 包装器计算为 4.1 版本。

各种方法都有用

仅将 gradle URL 更改为

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

如下图:

  1. 打开gradle-wrapper.properties
  2. 替换:

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

与:

distributionUrl=https://services.gradle.org/distributions/gradle-4.1-all.zip
  1. 现在同步项目

Click here for more understand

将此代码放入 gradle-wrapper.properties 文件中,它将与您一起使用

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