Gradleバージョン3.3は、BuildActionExecuterのforTask()メソッドをサポートしていません


111

Android Studio 3.0 canary 1にAndroid Studioを更新しました。現在、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
}

5
誰かがgradleバージョンとAndroidプラグインバージョンを更新せずにこれらを修正する方法を提案できますか?そのためには、ビジネス上の制約のために実行できない多くの変更が必要です。
うちはサスケ

回答:


196

同じ問題が発生しました。「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からのコメントも参照してください


19
最新のディストリビューションを知りたい場合は、ディレクトリservices.gradle.org/distributionsにアクセスしてください 。それらのすべてがリストされています
IG Pascual

4
特定のバージョンに変更する前に、@ IGPascualコメントを読んでください。現在使用可能な最新バージョンにバージョンを更新するだけでよいためです。このコメントが投稿されたとき、現在のリリースは4.0(stable)です。したがって、次のように変更しても安全ですdistributionUrl=https\://services.gradle.org/distributions/gradle-4.0-all.zip
HendraWD

4
マルチモジュールアプリケーションを開くときは注意してください。AndroidStudioは、Project-Androidビューに1つのgradle-wrapperプロパティフィールドしか表示しない場合があります。すべてを確実に変更するには、パス内検索(CTRL + SHIFT + F)を使用してdistributionUrlを検索します。
TmTron 2017

私は以下のエラーでも同じ問題に直面した 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-wrapper.propertiesファイルを更新しましたdistributionUrl=https\://services.gradle.org/distributions/gradle-3.5-all.zip
ViramP

1
頭を上げてくれてありがとう、@ TmTron、それが私の問題でした。falicoさん、よろしければ、上記の回答でTmTronのコメントを強調表示すると有益だと思います。
BareMetalCoder 2017

64

「gradle-wrapper.properties」ファイルを変更します

この行を入れてプロジェクトを同期-

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

これは機能します。Check最新バージョンservices.gradle.org/distributions

変更後は、同期プロジェクト、クリーンとは、リビルドからいったんプロジェクトをビルドメニュー。


4
特定のバージョンに変更する前に、services.gradle.org / distributionsを確認してください。現在利用可能な最新バージョンにバージョンを更新するだけでよいためです。このコメントが投稿されたとき、現在のリリースは4.0(stable)です。バージョンdistributionUrl=https\://services.gradle.org/distributions/g‌​radle-4.0-all.zipよりも安定しているため、に変更しても安全ですmilestone-1
HendraWD

はい、あなたは正しいです、常に他のものより安定したバージョンを好む。しかし、それでもあなたはそれを使うことができます。@HendraWDコメントありがとうございます。
Kailas Bhakade 2017年

以下からの公式のガイドラインを確認、2.3から3.0までのAndroidメーカーの更新youtube.com/watch?v=oBsbI8ICYKgを
カイラスBhakade

28

これは、デバッグAPKをビルドしようとしたときに発生しました。

解決策: Gradleのバージョンを3.5に更新します

移動し、ファイル- >プロジェクトの構造- >プロジェクト- > Gradleのバージョン= 3.5

これはAndroid Studio 3.0で動作します

これは、変更を加えなければならないメニューの画像です


これは意図的に4をGradleのためにアップグレードすることを望んでいないもののためのソリューションです
ラム

そうではありません。Gradleバージョン3.5にアップグレードします。これは、彼が使用したい機能の最小バージョンです。
クイントンM.

14

以下の手順に従ってください:

  1. Android Studioでプロジェクトを開く
  2. Androidメニューで、gradle-wrapper.propertiesを開きます
  3. 以下の行で配布URL行を変更します

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

  1. それでおしまい。今すぐプロジェクトをビルドします。

スクリーンショットを添付しました。 ここに画像の説明を入力してください


エラー:ロックファイルC:\ Users \ Kaveesh \ .gradle \ wrapper \ dists \ gradle-4.1-all \ bzyivzo6n839fup2jbap0tjew \ gradle-4.1-all.zip.lck
Kaveesh Kanwal

ロックの問題を示しています。android studioがディレクトリを作成できません。
Naveed Ahmad 2017

5

gradle-wrapper.propertiesファイルの次のコードのchanginf distributionUrlで問題を解決しました

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

2

これらをトップレベルの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

これには2つの方法で対処できます。

  1. Gradleのバージョンを初期のバージョンから3.5バージョンの製品に更新できます。

  2. または、gradleラッパーを4.1バージョンに変換することもできます。

すべての方法がどちらも便利です。




0

このコードをgradle-wrapper.propertiesファイルに入れてください。

distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.zip
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.