私は最近、自分のプロジェクトのgradleバージョンを2.14.1から3.0に更新しました。それ以来、gradle buildはこのエラーで毎回失敗しています。
エラー:原因:org.gradle.api.internal.tasks.DefaultTaskInputs $ TaskInputUnionFileCollectionをorg.gradle.api.internal.file.collections.DefaultConfigurableFileCollectionにキャストできませんこの予期しないエラーの考えられる原因は次のとおりです。
破損したGradleプロセスの場合、IDEを閉じてからすべてのJavaプロセスを強制終了することもできます。
- Gradleの依存関係キャッシュが破損している可能性があります(これはネットワーク接続のタイムアウト後に発生することがあります)。依存関係の再ダウンロードとプロジェクトの同期(ネットワークが必要)
- Gradleのビルドプロセス(デーモン)の状態が壊れている可能性があります。すべてのGradleデーモンを停止すると、この問題を解決できる可能性があります。 Gradleビルドプロセスを停止します(再起動が必要です)
- あなたのプロジェクトは、プロジェクト内の他のプラグインやプロジェクトによって要求されたGradleのバージョンと互換性のないサードパーティプラグインを使用している可能性があります。
Googleで検索したところ、 this oneのような解決策が見つかりましたが、何も機能していません。誰もがそれを修正する方法を知っていますか?
グラドルビルドツールを最新バージョンにアップグレードしてください。
これを行う簡単な方法の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()
}
Android Studio 3.0の最新アップデート用
gradle-wrapper.properties
(File Name)で、distributionUrl
のURLを次のように変更します。
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip
グラドルプラグイン2.1.3を使用している場合、解決するのは簡単です。
グラドルプラグインをバージョン2.2.0-beta1に更新します。
注:これはベータ版です、多分あなたは他の問題を得ることができます。
https://discuss.gradle.org/t/classcastexception-in-gradle-nightly-3-0-20160609/17979
ハッピーコーディング:)
さて、私はそれを動かしました。同じ問題に直面している人のためにそれが私のために働いた方法は次のとおりです。
編集:
この解決策は、gradleのバージョンを2.14.1に戻すことでした。 ending0421の解決策は有効な解決策です。
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
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'
}
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フォルダ内のすべてを削除して、プロジェクトを再構築するだけです。それは働き始めるでしょう。
簡単な答えこれを試してください...
次のように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'
}
あなたのgradle plugin 3.0.がスタジオバージョン3.0の場合、これを---に追加してくださいgradle-wrapper.properties
distributionUrl=https\://services.gradle.org/distributions/gradle-4.1-all.Zip