Android Gradle报错:找不到DefaultSourceDirectorySet构造方法求助
解决Gradle方法找不到的问题(Java转Kotlin后出现)
这问题我之前折腾过好多次,大概率是Gradle版本和Kotlin插件/第三方插件不兼容导致的,给你几个一步步来的解决办法:
1. 先确认Kotlin插件和Gradle版本的兼容性
Kotlin插件和Gradle版本有严格的对应关系,版本不匹配就会出现这种反射找不到方法的报错。你可以:
- 打开项目根目录的
build.gradle(或者settings.gradle里的pluginManagement块),找到Kotlin插件的版本号,比如id 'org.jetbrains.kotlin.android' version '1.8.20' - 去Kotlin官方文档找对应兼容的Gradle版本(比如Kotlin 1.8.x对应Gradle 7.5及以上)
- 调整项目的Gradle版本:打开
gradle/wrapper/gradle-wrapper.properties,修改distributionUrl为对应版本的Gradle包地址,比如https\://services.gradle.org/distributions/gradle-7.5-bin.zip
2. 彻底清理Gradle缓存和守护进程
只重新下载依赖可能不够,得彻底清一遍:
- 打开终端,进入项目根目录,执行命令:
./gradlew --stop(Windows用gradlew --stop),停止所有Gradle守护进程 - 删除本地Gradle缓存目录:
- Mac/Linux:
~/.gradle/caches - Windows:
C:\Users\<你的用户名>\.gradle\caches
- Mac/Linux:
- 回到IDE,执行
File -> Sync Project with Gradle Files,重新同步项目
3. 检查第三方插件的兼容性
如果项目里用了其他第三方插件(比如Androidx相关插件、代码检查插件等),也要确认它们和当前Gradle、Kotlin版本是否兼容。比如有些老插件只支持旧版Gradle,这时候要么升级插件到最新兼容版本,要么降级Gradle到插件支持的范围。
4. 极端情况:清理IDE缓存
如果上面的方法都没用,试试重置IDE的缓存:
- 在Android Studio/IntelliJ里,点击
File -> Invalidate Caches... - 勾选"Clear file system cache and local history",然后点击
Invalidate and Restart - IDE重启后再重新同步项目
你遇到的错误信息:
Error:(2, 0) Unable to find method 'org.gradle.api.internal.file.DefaultSourceDirectorySet.
(Ljava/lang/String;Lorg/gradle/api/internal/file/FileResolver;)V'
内容的提问来源于stack exchange,提问作者jobin
相关产品推荐
相关产品推荐

