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

运行Flutter build apk时遭遇R8类重复定义错误求助

解决Flutter Build APK时R8类重复定义问题

问题原因

你遇到的R8: Type com.google.zxing.client.android.camera.open.OpenCameraInterface is defined multiple times错误,是因为项目里多个依赖包同时引入了Google ZXing扫码库的相同类文件,编译时R8混淆工具检测到重复定义,导致编译失败。从你的依赖配置来看,大概率是扫码相关依赖(比如qr_code_scanner)和其他依赖(或间接依赖)产生了ZXing库的版本或文件冲突。

具体解决步骤

  • 第一步:排查重复依赖
    先执行命令查看完整的项目依赖树,找出所有引入ZXing的包:

    flutter pub deps
    

    在输出结果里搜索zxing关键字,定位到重复引入该库的依赖项。

  • 第二步:统一或排除重复依赖
    有两种处理方式:

    1. 强制统一ZXing版本:在pubspec.yaml中添加dependency_overrides,指定所有依赖必须使用同一个ZXing版本,比如:
      dependencies:
        # 你的原有依赖,比如qr_code_scanner等
        qr_code_scanner: ^0.7.0
      
      dependency_overrides:
        zxing_lib: ^3.5.0
      
    2. 排除特定依赖的子依赖:如果确定某个依赖不需要自带的ZXing库,直接在pubspec.yaml中排除它,比如:
      dependencies:
        problematic_dependency:
          version: ^1.0.0
          exclude:
            - zxing_lib
      
  • 第三步:清理缓存重新编译
    执行以下命令清理项目缓存,避免旧依赖残留,然后重新编译:

    flutter clean
    flutter pub get
    flutter build apk
    
  • 备选临时方案(不推荐)
    如果上述方法暂时无效,可临时禁用R8混淆(会导致APK体积增大),修改android/app/build.gradle:

    android {
        buildTypes {
            release {
                minifyEnabled false
                shrinkResources false
                // 注释掉或移除proguardFiles相关配置
            }
        }
    }
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.29 05:32:43