web-dev-qa-db-ja.com

3.0へのアップデート後、Gradleのビルドが失敗する

私は最近、自分のプロジェクトのgradleバージョンを2.14.1から3.0に更新しました。それ以来、gradle buildはこのエラーで毎回失敗しています。

エラー:原因:org.gradle.api.internal.tasks.DefaultTaskInputs $ TaskInputUnionFileCollectionをorg.gradle.api.internal.file.collections.DefaultConfigurableFileCollectionにキャストできませんこの予期しないエラーの考えられる原因は次のとおりです。

  • Gradleの依存関係キャッシュが破損している可能性があります(これはネットワーク接続のタイムアウト後に発生することがあります)。依存関係の再ダウンロードとプロジェクトの同期(ネットワークが必要)
  • Gradleのビルドプロセス(デーモン)の状態が壊れている可能性があります。すべてのGradleデーモンを停止すると、この問題を解決できる可能性があります。 Gradleビルドプロセスを停止します(再起動が必要です)
  • あなたのプロジェクトは、プロジェクト内の他のプラグインやプロジェクトによって要求されたGradleのバージョンと互換性のないサードパーティプラグインを使用している可能性があります。
破損したGradleプロセスの場合、IDEを閉じてからすべてのJavaプロセスを強制終了することもできます。

Googleで検索したところ、 this oneのような解決策が見つかりましたが、何も機能していません。誰もがそれを修正する方法を知っていますか?

66
Drilon Blakqori

グラドルビルドツールを最新バージョンにアップグレードしてください。

これを行う簡単な方法の1つは、build.gradleファイルに依存関係として最新バージョンのビルドツールを追加することです。次に例を示します。

dependencies {
    classpath 'com.Android.tools.build:gradle:2.2.0-beta1'
}

gradle tasksを実行すると、gradleは必要なものをすべてダウンロードします。

2016年9月19日にリリースされたAndroid Studio 2.2安定版以降のビルドツールの最新バージョンは2.2.0です。だからあなたはそれを修正することができます:

dependencies {
    classpath 'com.Android.tools.build:gradle:2.2.0'
}

Android Studio 2.4 stableはまだリリースする準備ができていないので(2017年5月4日)、ビルドツールの最新の安定版は2.3.1です。

dependencies {
    classpath 'com.Android.tools.build:gradle:2.3.1'
}

このビルドツールのバージョンを2.3。*に更新した場合は、/yourProjectRoot/gradle/wrapper/gradle-wrapper.propertiesファイルのgradle wrapperのバージョンも3.3に更新する必要があります。 (私はそれが質問Gradle build failing after update to 3.0と一致しないことを知っています、しかし私は強くあなたがグーグル推奨として最新の構築ツールを使うことを勧めます)

ところで:ビルドツールのバージョン2.3.1はjCenterにのみ存在し、MavenCentralには存在しません。したがって、ターミナルでgradlewコマンドラインを実行したときに以下のエラーが発生した場合

Could not find com.Android.tools.build:gradle:2.3.1.
 Searched in the following locations:
     https://repo1.maven.org/maven2/com/Android/tools/build/gradle/2.3.1/gradle-2.3.1.pom
     https://repo1.maven.org/maven2/com/Android/tools/build/gradle/2.3.1/gradle-2.3.1.jar

mavenCentral()をjcenter()に置き換えてください。

 repositories {
    jcenter()
    //mavenCentral()
}
79
ending0421

Android Studio 3.0の最新アップデート用

gradle-wrapper.properties(File Name)で、distributionUrlのURLを次のように変更します。

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

25
Dhaval Jardosh

グラドルプラグイン2.1.3を使用している場合、解決するのは簡単です。

グラドルプラグインをバージョン2.2.0-beta1に更新します。

注:これはベータ版です、多分あなたは他の問題を得ることができます。

https://discuss.gradle.org/t/classcastexception-in-gradle-nightly-3-0-20160609/17979

ハッピーコーディング:)

8
Leekwok Hsiang

さて、私はそれを動かしました。同じ問題に直面している人のためにそれが私のために働いた方法は次のとおりです。

  1. 外部の.gradleフォルダに移動します(私にとってはC:\ Users\drilon.gradleでした)。キャッシュとデーモンフォルダの中にあるすべてのバージョンフォルダを削除します(これらは "2.14.1"、または "3.0"のように見えます)。また、ラッパーに行きます - > dists - >そこにあるものすべてを削除します。
  2. あなたのプロジェクトルートの中(私にとってはC:\ Users\drilon\AndroidStudioProjects\PorjectName)は、.gradleフォルダに移動してそこにあるすべてのものを削除します。
  3. プロジェクトを再構築する

編集:
この解決策は、gradleのバージョンを2.14.1に戻すことでした。 ending0421の解決策は有効な解決策です。

4
Drilon Blakqori

gradleのバージョンが3.0.1の場合は、gradle-wrapper.propertiesに次のコードを使用します。distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip

3.1.2の場合、gradle-wrapper.propertiesに以下のコードを使用します。distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip

2
prasad reddy

Android Studio 3.3.1以下の最新のアップデートについてはコード作業。

1)gradle-wrapper.properties以下の行を追加してください。

distributionUrl=https\://services.gradle.org/distributions/gradle-4.6-all.Zip

2)build.gradle in プロジェクトレベルクラスパスの下に追加

 dependencies
    {
        classpath 'com.Android.tools.build:gradle:3.1.0'

    }
1
satyawan hajare
    After 1 hour R&D Not Solution as worked for me...

    But still i have solution follow this its work 100

    step 1: upgrade your build.gradle(Project:<your project name>)
    Example :  classpath 'com.Android.tools.build:gradle:2.1.3' // old gradle file
               classpath 'com.Android.tools.build:gradle:2.3.1' // upgraded file 

                                OR
               classpath 'com.Android.tools.build:gradle:3.1.0'

    Step 2 : Upgrade compileSdkVersion buildToolsVersion 
    Example : compileSdkVersion 23    buildToolsVersion "23.0.3 // old api's
              compileSdkVersion 25    buildToolsVersion "25.0.2" // upgraded api's

   Step 3:  upgrade gradle-wrapper.properties 
   Example : distributionUrl=https\://services.gradle.org/distributions/gradle-2.14.1-all.Zip // old or any version
            distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip // new or any version

ステップ4:最後にgoto build>プロジェクトの再ビルド...

それでもあなたはいくつかの問題に直面したりコミット私に....

......終了@Ambilpura

メインプロジェクトフォルダのgradleフォルダ内のすべてを削除して、プロジェクトを再構築するだけです。それは働き始めるでしょう。

0
Sapna Panda

簡単な答えこれを試してください...

次のようにbuild.gradle(PROJECT)に移動してgradleのバージョンを確認します。

'com.Android.tools.build:gradle:2.1.3'または3.0または3.1またはxx.xx

gradleバージョンが2.xの場合は、gradle-wrapper.propertiesを開いて次のコードを参照してください。

distributionUrl = https://services.gradle.org/distributions/gradle-2.14.1-all.Zip

gradle-2.14.1-all.Zipコード行はgradleバージョンと同じである必要があります

例:

例:mineは2.xなので... build.gradleだからクラスパス 'com.Android.tools.build:gradle:2.1.3'

gradle-wrapper.propertiesのdistributionUrl = https://services.gradle.org/distributions/gradle-2.14.1-all.Zip。

gradleのバージョンが3.xの場合、build.gradleのクラスパス「com.Android.tools.build:gradle:3.1.0」

gradle-wrapper.propertiesにdistributionUrl = https://services.gradle.org/distributions/gradle-3.14.1-all.Zipを入力します。

これをチェックするとうまくいく

android Studioの場合Android Studio 3.0以下のコードで動作します。

gradle-wrapper.propertiesは以下の行を追加します。

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

android Studioの場合Android Studio 3.1.2以下のコードで動作します。

distributionUrl=https\://services.gradle.org/distributions/gradle-4.4-all.Zip

以下のコードでAndroid Studio 3.3.1が動作するかどうか。

1)gradle-wrapper.propertiesは以下の行を追加します。

distributionUrl=https://services.gradle.org/distributions/gradle-4.6-all.Zip

2)プロジェクトレベルでbuild.gradleを追加

 dependencies { 
             classpath 'com.Android.tools.build:gradle:3.1.0'
 }
0
satyawan hajare

あなたのgradle plugin 3.0.がスタジオバージョン3.0の場合、これを---に追加してくださいgradle-wrapper.properties

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