这种情况经常发生,但这次我似乎无法解决。项目从命令行构建良好。这是错误:
Error:org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInputUnionFileCollection cannot be cast to org.gradle.api.internal.file.collections.DefaultConfigurableFileCollection
此意外错误的可能原因包括:
所提出的解决方案都没有奏效。我还尝试使缓存失效并手动删除Gradle缓存以强制重新下载依赖项和包装器。
编辑“升级到最新的构建工具和Gradle版本”是而不是解决方案,因为this问题仍然存在。目前 问题的解决方法是暂时禁用测试覆盖率。由于该问题最初是在6个月前报告的(尽管它被分类为“关键”),但解决方法不仅是坏的,而且不是暂时的。
答案 0 :(得分:5)
这个问题似乎已经解决了。这就是我所做的,包括我猜测它为何起作用。
'com.android.tools.build:gradle:2.3.0'
)完成后,Android Studio终于屈服于同步我的项目。但是,当我实际尝试构建项目时,我遇到了这个well known bug。我拒绝“解决”这个错误,因为禁用测试覆盖是一个非首发。
确认错误仍然存在于最新的构建工具中,我解除了我的更改并让AS再次同步我的项目。 Voilà,它有效。
我推测这次工作有效,因为更改构建工具两次会强制我在我的~/.gradle/caches/
和~/.gradle/daemon/
目录中删除某些目录时遗漏的一些文件系统更改
如果我听起来很讽刺,我道歉,但Android Studio团队发布他们的IDE的“稳定”版本是非常令人沮丧的,该版本没有记录,(接近?)突破性变化。让他们试图强制“升级”到具有已知严重缺陷的构建工具(哦,但它只是测试,谁关心它?)是错误的。