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

Android Studio(Kotlin)项目build.gradle调用buildFeatures()报错怎么解决?

报错信息
Could not find method buildFeatures() for arguments [build_5qfbvnnecz3eqc49l2rxxrlkt$_run_closure1$_closure6@1dd6d6e6] on object of type com.android.build.gradle.internal.dsl.BaseAppModuleExtension.
错误产生原因
  • 核心原因是当前使用的Android Gradle Plugin(AGP)版本低于4.0:buildFeatures是AGP 4.0版本才正式新增的API,用于统一管理各类构建特性的开启开关,低版本AGP不存在该方法,调用就会抛出上述异常。
  • 次要原因是buildFeatures配置块放置位置错误:该配置必须写在module级build.gradle的android代码块内部,如果错误写在项目根目录的build.gradle中,也会触发找不到方法的报错。
解决方案

方案1:升级AGP到4.0及以上版本(推荐)

  • 打开项目根目录的build.gradle文件,将AGP版本号修改为4.0或更高版本,同时确保Gradle版本和AGP版本匹配,也可以通过Android Studio的File > Project Structure > Project菜单一键设置匹配的AGP和Gradle版本。
  • 同步项目完成后,在module级build.gradle的android代码块内使用buildFeatures配置即可,示例如下:
android {
    namespace = "com.your.packagename"
    compileSdk = 33

    defaultConfig {
        // 其他默认配置
    }

    buildFeatures {
        // 按需开启对应构建特性
        viewBinding = true
        dataBinding = true
        compose = true
    }

    // 其他配置
}

方案2:不升级AGP,使用低版本对应配置替代

如果当前项目暂时无法升级AGP,可以用对应特性的旧版配置方式替代buildFeatures:

  • 开启View Binding(适用于AGP 3.6+):
android {
    viewBinding {
        enabled = true
    }
}
  • 开启Data Binding(适用于AGP 3.0+):
android {
    dataBinding {
        enabled = true
    }
}

方案3:修正配置位置

如果是配置位置放置错误,直接将buildFeatures代码块移动到module级build.gradle的android代码块内部,重新同步项目即可解决。

内容的提问来源于stack exchange,提问作者HASAN GONEN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.06 05:27:03