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

如何解决Flutter中“Program type already present: android.support.v4.os.ResultReceiver$MyResultReceiver”错误

解决Flutter Android构建时的D8重复类错误

这问题我之前踩过坑!本质是你的项目里同时存在AndroidX和旧版android.support库,导致类重复冲突,直接触发了D8的Program type already present错误,下面给你几个靠谱的解决步骤:

1. 确保AndroidX配置正确

首先检查项目的AndroidX开关是否开启,打开android/gradle.properties文件,确认以下两行配置存在且为true:

android.useAndroidX=true
android.enableJetifier=true

android.enableJetifier是关键,它会自动把所有旧的support库依赖转换为AndroidX兼容版本,大部分情况下开了这个就能解决冲突。

2. 定位冲突的依赖包

如果第一步没用,就得找出哪个第三方依赖还在使用旧的support库:

  • 运行flutter pub deps命令,查看完整的依赖树,搜索android.support关键词,定位到对应的包。
  • 或者用Android Studio打开项目的Android模块,执行Analyze > Inspect Code,选择整个项目范围,在Android > Lint > Correctness分类下找Old Support Library的警告,能直接跳转到冲突依赖。

3. 更新或替换冲突依赖

  • 找到冲突的包后,优先查看它的最新版本,升级到支持AndroidX的版本(通常包的文档会说明是否支持AndroidX)。
  • 如果这个包已经停止维护,那就换一个功能类似、支持AndroidX的替代包。

4. 彻底清理缓存后重构

有时候旧缓存会导致问题残留,执行以下步骤彻底清理:

flutter clean

然后手动删除android/.gradle和android/app/build文件夹,最后重新运行flutter run。

额外方案:强制排除重复依赖

如果以上方法都不行,可以在android/app/build.gradle的dependencies块里,强制排除冲突的support库:

dependencies {
    // 替换成你找到的冲突依赖
    implementation('某个第三方依赖') {
        exclude group: 'com.android.support'
    }
}

内容的提问来源于stack exchange,提问作者Raúl Esteban Burró Cespedes

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.12 04:35:40