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

求助:Flutter项目Gradle构建报错Program type already present: androidx.work.ArrayCreatingInputMerger

解决Flutter Gradle构建错误:Program type already present: androidx.work.ArrayCreatingInputMerger

这个问题我帮很多开发者排查过,本质就是依赖冲突——你的项目里重复引入了androidx.work相关类,最常见的原因是你用的旧版本Firebase依赖和AndroidX的WorkManager存在版本不兼容或者重复引用的问题。下面是实操性很强的解决步骤:

1. 用Firebase BoM统一依赖版本(最推荐)

你当前的Firebase依赖版本都是16.x、18.0.0这类旧版本,不同组件版本不一致很容易触发依赖冲突。Firebase提供的BoM(Bill of Materials)可以自动帮你统一所有Firebase组件的版本,从根源上避免这类问题:

修改你app模块下的build.gradle中的dependencies块:

dependencies {
    testImplementation 'junit:junit:4.12'
    androidTestImplementation 'androidx.test:runner:1.1.1'
    androidTestImplementation 'androidx.test.espresso:espresso-core:3.1.1'
    
    // 引入Firebase BoM,使用最新稳定版即可
    implementation platform('com.google.firebase:firebase-bom:32.7.0')
    
    // 这里不用写版本号,BoM会自动匹配兼容的版本
    implementation 'com.google.firebase:firebase-firestore'
    implementation 'com.google.firebase:firebase-core'
    implementation 'com.google.firebase:firebase-auth'
    implementation 'com.google.firebase:firebase-database'
    implementation 'com.google.android.gms:play-services-auth'
}

2. 手动排除重复的WorkManager依赖(如果BoM方案没解决)

要是还是出现重复类错误,你可以手动排查并排除某个依赖里的androidx.work模块。比如怀疑是Firestore带来的重复,就这么写:

implementation 'com.google.firebase:firebase-firestore' {
    exclude group: 'androidx.work', module: 'work-runtime'
}

3. 确认AndroidX配置没问题

你已经在gradle.properties里配置了正确的AndroidX参数,不过再核对一下确保没写错:

android.enableJetifier=true
android.useAndroidX=true
org.gradle.jvmargs=-Xmx1536M

enableJetifier=true会自动把旧的Android支持库转换成AndroidX版本,这对兼容旧依赖很重要。

4. 清理缓存后重新构建

最后别忘了彻底清理项目缓存,避免旧依赖残留影响:

  • 终端运行:flutter clean
  • 删除项目根目录下的.android/.gradle文件夹
  • 运行:flutter pub get
  • 再尝试flutter run或者Android Studio的构建按钮

按这个流程走,基本上就能解决这个重复类的构建错误了。

内容的提问来源于stack exchange,提问作者Faizan Jivani

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.14 06:43:26