2017-03-04 94 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进程的情况下,您也可以尝试关闭IDE,然后终止所有Java进程。


无提出的解决方案的工作。我也尝试使缓存无效并手动删除Gradle缓存来强制重新下载依赖和包装。

编辑:“升级到最新版本的工具和摇篮版” 一个解决方案,因为this问题仍然存在。而目前的解决方法的问题是暂时禁用测试覆盖率。由于这个问题最初是在6个月前报告的(尽管它被分类为“关键”),解决方法不仅不好,而且不是暂时的。

+0

可能重复的[更新到3.0后的Gradle构建失败](https://stackoverflow.com/questions/39034655/gradle-build-failing-after-update-to-3-0) – pringi

+0

不,它不是。这是另一回事。另外,这个问题在5个月前被问及并且有一个被接受的答案。要清楚,这个问题/答案是关于如何避免更新Gradle。这是关于更新AS,而不是Gradle。 – AutonomousApps

回答

5

这个问题似乎为我解决了。这就是我所做的,包括我对它为什么起作用的猜想。

  1. 我 '升级' 我的项目的Android摇篮构建工具从2.1.2到2.3.0('com.android.tools.build:gradle:2.3.0'
  2. 我升级从2.14我的摇篮包装到3.3
  3. 我从23.0.3升级我buildToolsVersion到25.0.0。

这样做后,Android Studio终于屈尊同步我的项目。但是,当我实际上试图构建该项目时,我碰到了这个well known bug。我拒绝'解决'这个错误,因为禁用测试覆盖是一个不起步的问题。

确认错误仍然存​​在于最新的构建工具中后,我解开了我的更改并让AS再次同步我的项目。 Voilà,它工作。

推测这是因为改变了构建工具两次被迫,我错过了的时候,我只是在我的~/.gradle/caches/~/.gradle/daemon/目录中删除一些目录文件系统的一些变化工作这段时间。我非常抱歉,但是对于Android Studio团队发布一个'稳定'版本的IDE,其中包含没有记录的(接近?)重大更改,这令人难以置信地感到沮丧。对于他们来说,试图强制对具有已知严重缺陷的构建工具进行“升级”(噢,但它只是测试,谁在乎这一点?)是错误的。

相关问题