我最近将我的项目的gradle版本从2.14.1更新到了3.0。从那时起,gradle构建每次都会因以下错误而失败:
错误:原因:org.gradle.api.internal.tasks.DefaultTaskInputs $ TaskInputUnionFileCollection无法转换为org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection导致此意外错误的可能原因包括:
如果Gradle进程损坏,您也可以尝试关闭IDE,然后终止所有Java进程。
- Gradle的依赖项缓存可能已损坏(这有时会在网络连接超时后发生。)重新下载依赖项并同步项目(需要网络)
- Gradle构建过程(守护程序)的状态可能已损坏。停止所有Gradle守护程序可以解决此问题。停止Gradle构建过程(需要重新启动)
- 您的项目可能使用的第三方插件与该项目中的其他插件或该项目要求的Gradle版本不兼容。
我搜索谷歌和发现了一些解决方案,如这一个,但没有什么工作。有谁知道如何修理它?
将您的Gradle构建工具升级到最新版本。
一种简单的方法是将最新版本的构建工具作为依赖项添加到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稳定版尚未准备好发布(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包装器版本更新为3.3。(我知道这不匹配问题Gradle build failing after update to 3.0
,但我强烈建议您使用Google推荐的最新构建工具)
顺便说一句:构建工具的版本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()
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句