2017-03-04 53 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,其中包含沒有記錄的(接近?)重大更改,這令人難以置信地感到沮喪。對於他們來說,試圖強制對具有已知嚴重缺陷的構建工具進行「升級」(噢,但它只是測試,誰在乎這一點?)是錯誤的。

相關問題