2017-03-04 9 views
3

これは頻繁に発生しますが、今回は解決できないようです。プロジェクトはコマンドラインからうまく構築されます。これはエラーです:この予期しないエラーのためAndroid Studio 2.3にアップグレードした後でGradleを同期できません

Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection 

考えられる原因は次のとおりです。

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


提案されている解決策のどれも働かなかった。私はまた、キャッシュを無効にし、手動でGradleキャッシュを削除して、依存関係とラッパーの再ダウンロードを強制しようとしました。

EDIT:「最新のビルドツールへのアップグレードとGradleのバージョン」this問題がまだ存在するためないソリューションです。そして、現在の回避策は、の問題は、テストカバレッジを「一時的に」無効にすることです。その問題はもともと6か月前に報告されていた(そして、それが "重要"と見なされているにもかかわらず)、回避策は悪いだけではなく、一時的でもありません。

+0

[3.0へのアップデート後に失敗したグラデルビルド]の複製が可能です(https://stackoverflow.com/questions/39034655/gradle-build-failing-after-update-to-3-0) – pringi

+0

いいえ、そうではありません。それは別のものです。また、この質問は5か月前に尋ねられ、受け入れられた答えがあります。明確にするために、この質問/回答は、どのようにGradleを更新するのかについてです。それは、GradleではなくASをアップデートすることに関するものです。 – AutonomousApps

答えて

5

問題は私のために解決されるようです。これは私がしたことです、なぜそれが働いたのかといった私の推測を含みます。私は

  • 'com.android.tools.build:gradle:2.3.0')私のプロジェクトのAndroidのGradleは、2.1.2から2.3.0へのビルドツール 'アップグレード'

    1. 私は23.0.3から私のbuildToolsVersionをアップグレード2.14から3.3
    2. に私のGradleラッパーをアップグレード〜25.0.0。

    これを実行した後、Android Studioは最終的に私のプロジェクトを同期することを納得しました。しかし、私が実際にをビルドしようとしたとき、プロジェクトをビルドすると、私はこのwell known bugに遭遇しました。私はこのバグを「回避する」ことを拒否しています。なぜならテストカバレッジを無効にすることは非スターターであるからです。

    最新のビルドツールではまだバグが残っていることが確認されたので、変更を取り消し、ASにプロジェクトを再度同期させてください。 Voilà、それは働いた。

    私は、ビルドツールは二回、私は単に私の~/.gradle/caches/~/.gradle/daemon/ディレクトリにいくつかのディレクトリを削除したとき、私は逃したいくつかのファイルシステムの変更を強制変更するので、それは、この時間を働いたを推測

    Android StudioスタジオがIDEの「安定した」バージョンをリリースすることは、文書化されていない(近くに)変更が加えられていることを信じられないほどイライラしています。彼らが知られている重大な欠陥(ああ、それは唯一のテストですが、それについて気にしている)を持っているビルドツールに 'アップグレード'を強制しようとするのは間違っています。

  • 関連する問題