更新到3.0后,Gradle构build失败
我最近更新了我的项目的gradle版本从2.14.1到3.0。 从那以后,gradle build每次都会出现这个错误:
错误:原因:org.gradle.api.internal.tasks.DefaultTaskInputs $ TaskInputUnionFileCollection无法转换为org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection这种意外错误的可能原因包括:
- Gradle的依赖关系caching可能已损坏(有时发生在networking连接超时之后)。重新下载依赖项并同步项目(需要networking)
- Gradle构build过程(守护进程)的状态可能已损坏。 停止所有的Gradle守护进程可能会解决这个问题。 停止Gradle构build过程(需要重新启动)
- 您的项目可能使用与项目中的其他插件或项目请求的Gradle版本不兼容的第三方插件。
在损坏的Gradle进程的情况下,您也可以尝试closuresIDE,然后杀死所有的Java进程。
我search谷歌,发现一些这样的解决scheme,但没有任何工作。 有谁知道如何修理它?
将您的Gradle构build工具升级到最新版本。
一个简单的方法是在build.gradle
文件中添加最新版本的构build工具作为依赖关系,例如:
dependencies { classpath 'com.android.tools.build:gradle:2.2.0-beta1' }
然后你可以运行gradle tasks
,gradle会下载你需要的所有东西。
在2016年9月19日发布Android Studio 2.2之后,最新版本的构build工具是2.2.0。 所以你可以解决它:
dependencies { classpath 'com.android.tools.build:gradle:2.2.0' }
由于Android Studio 2.4 stable尚未发布(2017年5月4日),最新的构build工具的稳定版本是2.3.1。
dependencies { classpath 'com.android.tools.build:gradle:2.3.1' }
如果将此构build工具版本更新为2.3。*,则还应该在/yourProjectRoot/gradle/wrapper/gradle-wrapper.properties文件中将gradle wrapper版本更新为3.3。 (我知道这是不匹配问题Gradle build failing after update to 3.0
, Gradle build failing after update to 3.0
,但我强烈build议你使用最新的生成工具,谷歌build议)
顺便说一句:构build工具的版本2.3.1只存在于jCenter,而不是MavenCentral,所以如果在terminal运行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
只需用jcenter()replacemavenCentral()即可
repositories { jcenter() //mavenCentral() }
如果你使用gradle插件2.1.3,解决起来很简单:
更新你的gradle插件到版本2.2.0-beta1
注:这是一个testing版,也许你可以得到任何其他问题。
https://discuss.gradle.org/t/classcastexception-in-gradle-nightly-3-0-20160609/17979
快乐编码:)
好吧,我得到了它的工作。 对于面临同样问题的人来说,它对我的工作方式如下:
- 转到您的外部.gradle文件夹(对于我来说这是C:\ Users \ drilon.gradle)。 里面的caching和守护进程文件夹删除所有的版本文件夹(他们看起来像这个“2.14.1”,或“3.0”)。 也去包装 – > dists – >删除那里的一切。
- 在你的项目根目录(对我来说,它是C:\ Users \ drilon \ AndroidStudioProjects \ PorjectName)转到.gradle文件夹并删除所有内容。
- 重build项目
编辑:
原来这个解决scheme是把gradle版本设置回2.14.1。 0421的解决scheme是工作的。
- 如何在Android Studio中创build发布的Android库包(aar)(不debugging)
- 在渲染过程中,android studio sdk version 22exception:action_bar
- 处理程序与AsyncTask
- 在Android Studio中自动在多个设备上运行应用
- 在Firebase侦听器中设置Singleton属性值
- Android:如何安全地解除绑定服务
- java.lang.IllegalArgumentException:包含一个path分隔符
- 如何在Libgdx中追踪时间(android)
- 使用跟踪代码pipe理器的Android内容实验在几天后不会显示会话