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

添加flutterpluginfidologinapi后出现CheckDuplicateClasses构建失败求助

解决Flutter依赖重复类冲突问题

当前使用的依赖库

idenfy_sdk_flutter: 2.0.0
flutterpluginfidologinapi:
  hosted:
    name: flutterpluginfidologinapi
    url: https://flutter.dev.loginid.io
  version: 0.61.33

构建错误详情

添加flutterpluginfidologinapi后,出现以下重复类冲突错误:

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:checkDevDebugDuplicateClasses'.
> A failure occurred while executing com.android.build.gradle.internal.tasks.CheckDuplicatesRunnable
   > Duplicate class a.a found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class b.a found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class c.a found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class d.a found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class d.b found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class d.b$a found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class d.b$b found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class e.a found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class f.a found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class f.b found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class g.a found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)
     Duplicate class h.a found in modules jetified-android-sdk-0.92.36-runtime (login.api.native:android-sdk:0.92.36) and jetified-sdk-api-7.7.0-runtime (com.github.idenfy:sdk-api:7.7.0)

     Go to the documentation to learn how to Fix dependency resolution errors.

* Try:
> Run with --stacktrace option to get the stack trace.
> Run with --info or --debug option to get more log output.
> Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 1m 49s
Exception: Gradle task assembleDevDebug failed with exit code 1

当前gradle.properties配置

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

已尝试的无效方案

之前尝试过全局排除模块,但未解决问题:

configurations {
    all*.exclude module: 'com.github.idenfy'
}

有效解决方案

1. 精准排除冲突依赖

全局排除范围太广,需针对具体冲突的依赖模块,在pubspec.yaml中给对应的Flutter依赖添加排除规则:

如果是flutterpluginfidologinapi引入的login.api.native:android-sdk和idenfy_sdk_flutter的com.github.idenfy:sdk-api冲突,可选择排除其中一个:

排除flutterpluginfidologinapi中的冲突模块

flutterpluginfidologinapi:
  hosted:
    name: flutterpluginfidologinapi
    url: https://flutter.dev.loginid.io
  version: 0.61.33
  exclude:
    group: 'login.api.native'
    module: 'android-sdk'

或者排除idenfy_sdk_flutter中的冲突模块

idenfy_sdk_flutter: 
  version: 2.0.0
  exclude:
    group: 'com.github.idenfy'
    module: 'sdk-api'

2. 强制统一依赖版本

在项目的android/build.gradle的allprojects块中,添加版本强制规则,让Gradle统一使用指定版本的依赖:

allprojects {
    repositories {
        // 保留原有仓库配置
    }
    configurations.all {
        resolutionStrategy {
            // 二选一,选择兼容的版本强制使用
            force 'com.github.idenfy:sdk-api:7.7.0'
            // force 'login.api.native:android-sdk:0.92.36'
        }
    }
}

3. 临时禁用重复类检查(不推荐)

如果以上方法均无效,可临时禁用重复类检查任务作为应急方案,但此方法会隐藏潜在问题,可能引发运行时异常:

android {
    // 保留原有配置
    tasks.whenTaskAdded { task ->
        if (task.name.startsWith('check') && task.name.contains('DuplicateClasses')) {
            task.enabled = false
        }
    }
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.06 23:00:56