[gradle] Gradle 버전 3.3은 BuildActionExecuter에서 forTask () 메서드를 지원하지 않습니다.

방금 Android Studio를 3.0 canary 1로 업데이트했습니다. 이제 Android Studio 3.0 canary 1에서 기존 프로젝트를 작업하고 있습니다. 기본적으로 gradle : 3.0.0-alpha1 이 내 프로젝트 인 gradle_file에 설정되어 있습니다. 그래서 내 gradle 버전을 2.2.3으로 변경했는데 이제이 오류가 발생합니다.

오류 : Gradle 실행을 완료하지 못했습니다.

원인 : 사용중인 Gradle 버전 (3.3)은 BuildActionExecuter에서 forTasks () 메서드를 지원하지 않습니다. 이에 대한 지원은 Gradle 3.5 및 모든 이후 버전에서 사용할 수 있습니다.

여기에 내 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

상세 사항은

migaration을 돕는 공식 비디오
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

변경 후 Build 메뉴 에서 Sync Project, CleanRebuild 프로젝트를 한 번 수행 합니다.


답변

이것은 디버그 APK를 빌드하려고 할 때 발생했습니다.

해결책 : Gradle 버전을 3.5로 업데이트

로 이동 한 파일 -> 프로젝트 구조는 -> 프로젝트 -> Gradle을 버전 3.5 =

이것은 Android Studio 3.0에서 작동합니다.

변경해야하는 메뉴 이미지입니다.


답변

아래 단계를 따르십시오.

  1. Android Studio에서 프로젝트 열기
  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


답변

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
}


답변

우리는 그것을 처리하는 두 가지 방법이 있습니다.

  1. Gradle의 버전을 초기 버전에서 3.5 버전 제품으로 업데이트 할 수 있습니다.

  2. 또는 gradle 래퍼를 4.1 버전으로 계산할 수 있습니다.

모든 방법이 모두 유용합니다.