升级Gradle 6.7.1后Android项目构建失败问题求助
这个错误是Android Studio 4.2配套的Android Gradle Plugin(AGP) 4.2版本API发生破坏性变更导致的,AGP 4.2修改了AndroidComponentsExtension相关的内部方法实现,项目中依赖的未适配AGP 4.2的第三方Gradle插件调用旧API就会触发方法找不到的报错,常见不兼容插件包括Hilt、低版本Kotlin插件、字节码插桩类插件、多渠道打包插件等。
- 方案一 (推荐):升级对应第三方插件到适配版本
- Hilt插件升级到
2.35.1及以上版本,保证所有Hilt相关依赖的版本号完全一致 - Kotlin插件升级到
1.5.0及以上版本 - 其他自定义插件、加固插件、路由插件逐一检查,升级到2021年及之后发布的适配AGP 4.2的版本
- Hilt插件升级到
- 方案二:清理损坏的缓存与进程
- 关闭Android Studio,杀死所有运行中的Java进程
- 删除项目根目录下的
.gradle文件夹、app/build文件夹 - 删除本地Gradle全局缓存目录(默认路径为用户目录下的
.gradle/caches文件夹) - 重启Android Studio重新同步项目
- 方案三(临时降级):回退AGP与Gradle版本
- 项目根目录
build.gradle中AGP版本修改为4.1.3 gradle/wrapper/gradle-wrapper.properties文件中distributionUrl修改为https\://services.gradle.org/distributions/gradle-6.5-bin.zip- 同步项目后重新构建
- 项目根目录
报错截图


错误详情
无法找到方法 ''void com.android.build.api.extension.AndroidComponentsExtension$DefaultImpls.androidTest$default(com.android.build.api.extension.AndroidComponentsExtension, com.android.build.api.extension.VariantSelector, kotlin.jvm.functions.Function1, int, java.lang.Object)'' 'void com.android.build.api.extension.AndroidComponentsExtension$DefaultImpls.androidTest$default(com.android.build.api.extension.AndroidComponentsExtension, com.android.build.api.extension.VariantSelector, kotlin.jvm.functions.Function1, int, java.lang.Object)'
Gradle的依赖缓存可能已损坏(网络连接超时有时会引发该问题)。
重新下载依赖并同步项目(需要网络)。Gradle构建进程(daemon)状态可能已损坏,停止所有Gradle守护进程可解决该问题。
停止Gradle构建进程(需要重启)。您的项目可能使用了与其他插件或要求的Gradle版本不兼容的第三方插件。
若Gradle进程损坏,您也可以尝试关闭IDE,随后杀死所有Java进程。
内容的提问来源于stack exchange,提问作者Stefan

