Gradle版本从3.5.2升级到4.0.2触发找不到方法错误如何解决
Gradle 3.5.2 升级至 4.0.2 找不到方法错误解决方案
检查AGP版本与Gradle版本匹配性
Gradle版本和Android Gradle Plugin(AGP)版本存在严格对应关系,升级Gradle版本后必须同步调整AGP版本。Gradle 4.0.2对应的AGP版本范围为3.6.0~4.0.2,你需要修改项目根目录下build.gradle文件中的AGP依赖配置:dependencies { classpath 'com.android.tools.build:gradle:4.0.2' }同时确认
gradle/wrapper/gradle-wrapper.properties文件中的distributionUrl配置正确:distributionUrl=https\://services.gradle.org/distributions/gradle-4.0.2-all.zip替换废弃API与配置项
Gradle 4.0移除了大量3.x版本中标记为废弃的方法和配置,常见需要替换的内容包括:- 依赖配置中的
compile替换为implementation/api,apk替换为runtimeOnly,provided替换为compileOnly - 自定义Gradle Task中调用的3.x废弃方法,对照Gradle 4.0官方API文档做对应替换
- NDK、构建变体等模块的旧配置写法,替换为新版本支持的语法
- 依赖配置中的
清理构建缓存后重试
缓存残留可能导致类加载异常引发方法找不到报错,依次执行以下操作:- 执行命令
./gradlew clean(Windows系统执行gradlew clean) - 删除项目根目录下的
.gradle文件夹、app模块下的build文件夹 - 重启IDE后重新执行构建
- 执行命令
升级第三方Gradle插件版本
项目中引入的第三方Gradle插件(如ButterKnife、字节码插桩插件、数据库框架配套插件等)如果版本过旧,仅支持Gradle 3.x版本,也会引发方法找不到报错。请将所有第三方Gradle插件升级到支持Gradle 4.0的对应版本。
内容的提问来源于stack exchange,提问作者Salim Asan
相关产品推荐
相关产品推荐

