You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android Gradle构建报错groovy.lang.MissingMethodException问题求助

问题根因

核心问题是混淆了项目级build.gradle和模块级build.gradle的职责与配置规范:

  • 项目级build.gradle是项目全局配置入口,不应该声明com.android.application插件,也不能包含android{}配置块、dependencies{}应用依赖配置,这些都属于模块级(通常是:app模块)build.gradle的专属内容
  • 你当前两份build.gradle内容完全重复,把模块级配置错误写到了项目级文件中,导致Gradle解析项目级配置时找不到对应的android()方法,触发MissingMethodException异常
修复步骤

1. 修正项目级build.gradle配置

清空项目级build.gradle的现有内容,替换为标准项目级配置:

// 项目级build.gradle
buildscript {
    repositories {
        google()
        mavenCentral()
    }
    dependencies {
        // 适配compileSdk 31可使用7.0.4版本的Android Gradle插件,可根据实际需求调整版本
        classpath "com.android.tools.build:gradle:7.0.4"
        classpath "com.google.gms:google-services:4.3.10"
    }
}

allprojects {
    repositories {
        google()
        mavenCentral()
    }
}

task clean(type: Delete) {
    delete rootProject.buildDir
}

2. 修正模块级(:app)build.gradle配置

现有模块级配置框架可保留,只需修正两处冗余冲突问题:

  • 删掉重复的依赖声明:你同时声明了两个版本的androidx.appcompat:appcompat、两份重复的com.google.android.material:material,只保留稳定版本androidx.appcompat:appcompat:1.3.1和一份com.google.android.material:material:1.4.0即可
  • 统一Dagger2版本:当前Dagger2的三个依赖分别使用了2.35.1、2.20、2.21三个不同版本,全部统一为同一版本(比如2.35.1),避免版本兼容冲突

3. 重置项目配置

修改完成后依次执行:

  • 点击Android Studio顶部菜单栏 File -> Sync Project with Gradle Files 同步配置
  • 如果同步后仍有缓存异常,执行 Build -> Clean Project 后再执行 Rebuild Project 即可

内容的提问来源于stack exchange,提问作者Esteban Rodriguez

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 07:45:08