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

升级Firebase依赖后编译失败:Program type already present异常

解决Firebase/Play Services更新后Program type already present: android.arch.core.util.Function编译错误

看起来你遇到的是典型的依赖冲突问题——多个依赖库引入了相同的android.arch.core.util.Function类,导致D8合并dex时冲突。结合你的情况(无法回退旧依赖、已启用MultiDex),可以按以下步骤解决:

1. 定位冲突来源

首先运行Gradle命令查看项目的依赖树,找出重复引入android.arch.core的依赖:

# Mac/Linux
./gradlew app:dependencies

# Windows
gradlew.bat app:dependencies

在输出中搜索android.arch.core,你会看到哪些依赖(比如LeakCanary或者其他第三方库)和Firebase/Play Services同时引入了这个模块。

2. 排除重复依赖

找到冲突的依赖后,在对应的依赖声明中排除android.arch.core组。比如如果是LeakCanary导致的冲突,修改你的依赖配置:

dependencies {
    implementation fileTree(include: ['*.jar'], dir: 'libs')
    
    debugImplementation ('com.squareup.leakcanary:leakcanary-android:1.5.4') {
        exclude group: 'android.arch.core'
    }
    releaseImplementation ('com.squareup.leakcanary:leakcanary-android-no-op:1.5.4') {
        exclude group: 'android.arch.core'
    }
    
    // 你的Firebase/Play Services依赖...
}

3. 统一Firebase/Play Services版本

Google官方强烈建议所有Firebase和Play Services依赖使用相同的版本号,这能避免内部依赖冲突。你可以在根项目的build.gradle中统一管理版本:

// 根build.gradle
buildscript {
    ext {
        firebase_version = "24.0.0" // 替换为你使用的最新兼容版本
        play_services_version = "18.0.0"
    }
    // ...其他配置
}

然后在app模块的build.gradle中引用这些版本:

// app/build.gradle
implementation "com.google.firebase:firebase-functions:$firebase_version"
implementation "com.google.firebase:firebase-auth:$firebase_version"
// 其他Firebase/Play Services依赖都使用统一版本号

4. (可选)升级LeakCanary到AndroidX版本

旧版本的LeakCanary(1.x)依赖旧的Android Architecture Components,和最新Firebase的AndroidX依赖容易冲突。如果你的项目已经迁移到AndroidX,可以直接升级LeakCanary到2.x版本:

debugImplementation 'com.squareup.leakcanary:leakcanary-android:2.12'
releaseImplementation 'com.squareup.leakcanary:leakcanary-android-no-op:2.12'

同时确保gradle.properties中启用AndroidX和Jetifier:

android.useAndroidX=true
android.enableJetifier=true

Jetifier会自动将旧的支持库依赖转换为AndroidX,进一步减少冲突概率。

完成以上步骤后,再次执行Clean-Rebuild,应该就能解决编译错误了。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.29 06:47:43