gradle版本與android的gradle插件版本兼容Unable to find method org.gradle.api.tasks.compile.CompileOptions.setB

今天踩了一個gradle版本的坑,記錄一下


一、編譯報錯,如下完整報錯日誌:

編譯失敗ERROR:Unable to find method 'org.gradle.api.tasks.compile.CompileOptions.setBootClasspath

ERROR: Unable to find method 'org.gradle.api.tasks.compile.CompileOptions.setBootClasspath(Ljava/lang/String;)V'.
Possible causes for this unexpected error include:
Gradle's dependency cache may be corrupt (this sometimes occurs after a network connection timeout.)
Re-download dependencies and sync project (requires network)

The state of a Gradle build process (daemon) may be corrupt. Stopping all Gradle daemons may solve this problem.
Stop Gradle build processes (requires restart)

Your project may be using a third-party plugin which is not compatible with the other plugins in the project or the version of Gradle requested by the project.

In the case of corrupt Gradle processes, you can also try closing the IDE and then killing all Java processes.

二、編譯失敗的原因:

因爲android的gradle插件com.android.tools.build:gradle的版本,依賴gradle的版本。

如下截圖。我的gradle版本是5.4.1。com.android.tools.build:gradle的版本是3.0.1

根據android官方文檔,我們找到了版本對應關係: https://developer.android.google.cn/studio/releases/gradle-plugin#updating-plugin

三、解決編譯問題:

方法1:gradle版本降到4.1
方法2:將android的gradle插件升級到3.5.0~3.5.3

如下,我選擇方法2,升級com.android.tools.build:gradle插件到3.5.3

編譯成功,搞定。





讚美是一種美德,點個贊 再走啊,老鐵


參考資料:
https://juejin.im/post/5ecb0b906fb9a047f845c422

https://developer.android.google.cn/studio/releases/gradle-plugin#updating-plugin

https://github.com/libgdx/libgdx/issues/5617

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章