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

应用运行报错:authorizationsdk与iHealthSDK存在重复类a.a

解决Duplicate class a.a冲突问题

当同时集成authorizationsdk.aar和iHealthSDK_2.9.6两个依赖库时,出现以下错误:

Duplicate class a.a found in modules jetified-authorizationsdk-runtime (authorizationsdk.aar) and jetified-iHealthSDK_2.9.6 (iHealthSDK_2.9.6.jar)

这是因为两个库经过混淆后生成了同名的a.a类,导致编译冲突。以下是几种可行的解决方法:

  • 排除重复依赖模块
    在模块级build.gradle中,给其中一个库添加规则移除冲突依赖。若不清楚具体冲突模块,可尝试关闭依赖传递(注意可能引发其他依赖缺失,需测试):

    // 关闭authorizationsdk.aar的依赖传递
    implementation(name: 'authorizationsdk', ext: 'aar') {
        transitive = false
    }
    
    // 或关闭iHealthSDK_2.9.6.jar的依赖传递
    implementation files('libs/iHealthSDK_2.9.6.jar') {
        transitive = false
    }
    

    若明确冲突类来自某个子依赖,可精准排除:

    implementation(name: 'authorizationsdk', ext: 'aar') {
        exclude group: 'com.example.conflict', module: 'conflict-module'
    }
    
  • 设置Gradle冲突解决策略
    在模块级build.gradle中配置规则,指定优先使用其中一个库的类:

    configurations.all {
        resolutionStrategy {
            // 强制使用指定库的版本,替换为实际库坐标
            force 'com.yourgroup:authorizationsdk:1.0.0'
        }
    }
    
  • 手动修改混淆类名
    解压其中一个库(aar/jar),找到a.a类文件重命名为唯一名称(如auth_a.a),同时修改库中所有引用该类的代码,重新打包成aar/jar。此方法繁琐,需确保遵守SDK许可协议。

  • 联系SDK厂商修复
    向两个SDK的开发者反馈类名冲突问题,请求提供无冲突的更新版本。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 18:55:18