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

多模块Android应用构建失败:BuildConfig重复定义问题求助

解决多模块Android应用中BuildConfig重复定义问题

错误提示Type com.example.boombadproject.BuildConfig is defined multiple times本质是多个模块生成了同包名的BuildConfig类,导致编译冲突。结合你的配置和操作记录,可按以下步骤排查解决:

  • 检查模块的applicationId配置
    只有app模块可以设置applicationId,所有library模块(core、onboarding系列、tracker系列)必须移除applicationId配置,仅保留namespace。每个library模块的namespace要唯一,比如:

    android {
        namespace "com.example.boombadproject.core" // core模块专属命名空间
        // 移除applicationId行
    }
    
  • 统一子模块的namespace命名规范
    按照模块层级分配唯一的namespace,避免和app模块的根包名com.example.boombadproject重复:

    • onboarding_domain:com.example.boombadproject.onboarding.domain
    • onboarding_presentation:com.example.boombadproject.onboarding.presentation
    • tracker_data:com.example.boombadproject.tracker.data
    • tracker_domain:com.example.boombadproject.tracker.domain
    • tracker_presentation:com.example.boombadproject.tracker.presentation
  • 核对依赖配置的正确性
    被注释的模块出现问题,说明这些模块的配置存在冲突。确保library模块间的依赖用implementation或api,且不要出现循环依赖,比如onboarding_presentation依赖onboarding_domain的写法应为:

    implementation(project(":onboarding:onboarding_domain"))
    
  • 彻底清理项目缓存
    除了常规的Clean Project和Rebuild,手动删除以下内容后重启Android Studio:

    • 项目根目录的.gradle文件夹
    • 所有模块下的build文件夹
    • 通过File → Invalidate Caches...勾选清除文件系统缓存和本地历史,再点击Invalidate and Restart
  • 排查重复的配置字段
    检查各模块的build文件,确保buildConfigField定义的字段不会导致生成重复的BuildConfig结构,同时避免复制其他模块的Manifest文件。

内容的提问来源于stack exchange,提问作者Ame Gung

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.31 10:05:28