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

Android Room数据库应用构建报错:intellij与jetbrains注解类重复冲突

问题根源

你遇到的构建错误是类重复冲突,项目依赖同时引入了两个不同来源的JetBrains/IntelliJ注解库:com.intellij:annotations:12.0 和 org.jetbrains:annotations:13.0,两个库包含大量相同全类名的类,导致构建失败。
冲突的直接诱因是你错误地将Room的注解处理器用implementation方式引入,注解处理器的依赖本应仅在编译期生效,用implementation会将它的全部传递依赖也打包到最终产物中,触发冲突。

解决方案

优先尝试方案1,未解决再使用方案2。

方案1:修正Room注解处理器的依赖方式

将dependencies中room-compiler的依赖类型从implementation改为annotationProcessor(Java项目)或者kapt(Kotlin项目,需要提前在模块级build.gradle头部引入kapt插件),同时测试用的room-testing也需要调整为测试依赖,修改后的依赖配置如下:

dependencies {
    implementation 'androidx.appcompat:appcompat:1.3.1'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'androidx.constraintlayout:constraintlayout:2.1.1'

    // Room Components
    implementation 'androidx.room:room-runtime:2.4.0-beta01'
    // Java项目用annotationProcessor,Kotlin项目把annotationProcessor换成kapt
    annotationProcessor 'androidx.room:room-compiler:2.4.0-beta01'
    testImplementation 'androidx.room:room-testing:2.4.0-beta01'

    // Lifecycle Components
    implementation 'androidx.lifecycle:lifecycle-viewmodel:2.4.0'
    implementation 'androidx.lifecycle:lifecycle-livedata:2.4.0'
    implementation 'androidx.lifecycle:lifecycle-common-java8:2.4.0'

    testImplementation 'junit:junit:4.+'
    androidTestImplementation 'androidx.test.ext:junit:1.1.3'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}

修改后清理项目缓存重新构建即可,90%以上的同类型冲突都可以通过这个方法解决。

方案2:手动排除冲突的注解包

如果修改依赖类型后仍然报错,可以在模块级build.gradle的android配置块下方添加冲突包排除规则:

configurations {
    all {
        exclude group: 'com.intellij', module: 'annotations'
        // 二选一即可,也可以选择排除org.jetbrains的annotations
        // exclude group: 'org.jetbrains', module: 'annotations'
    }
}

添加后重新构建即可解决冲突。

内容的提问来源于stack exchange,提问作者AI Shakil

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.26 10:36:10