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

Android Studio 3.0.1引入AAR及Dex合并报错求助

这两个都是Android开发中非常常见的构建问题,我来分享一些经过验证的解决办法:

问题1:Android Studio 3.0.1同步Gradle时出现 com.android.builder.dexing.DexArchiveMergerException: Unable to merge dex

这个错误大多和依赖冲突、方法数超限或者缓存问题有关,试试以下方案:

  • 先清理重建项目:点击顶部菜单栏的 Build -> Clean Project,完成后再执行 Rebuild Project,很多时候缓存脏数据会触发这个异常。
  • 排查依赖冲突:这是最常见的原因——不同依赖库引入了同一个类的不同版本。你可以在终端执行命令查看完整依赖树:
    # Mac/Linux
    ./gradlew app:dependencies
    
    # Windows
    gradlew app:dependencies
    
    找到重复的依赖后,用 exclude 语法排除其中一个版本,比如:
    implementation 'com.example.library:xxx:1.0' {
        exclude group: 'com.android.support', module: 'support-v4'
    }
    
  • 启用MultiDex:如果你的项目方法数超过了65536的上限,也会触发这个错误。在 build.gradle(Module:app) 的 android 块里配置:
    defaultConfig {
        multiDexEnabled true
    }
    
    若你的项目支持API 21以下的设备,还需要添加MultiDex依赖:
    implementation 'com.android.support:multidex:1.0.3'
    
    并让你的Application类继承 MultiDexApplication,或者在 attachBaseContext 方法中调用 MultiDex.install(this)。
  • 升级Gradle相关版本:Android Studio 3.0.1的Gradle插件版本相对较旧,尝试在项目根目录的 build.gradle 中升级插件到兼容的稳定版,比如:
    buildscript {
        dependencies {
            classpath 'com.android.tools.build:gradle:3.2.0'
        }
    }
    
    同时记得同步Gradle wrapper的版本。
问题2:添加AAR后出现重复文件 org/apache/xml/security/resource/xmlsecurity_de.properties,packagingOptions无效

如果排除文件的配置没生效,试试这些进阶方案:

  • 先确认packagingOptions的配置是否正确:确保是在 build.gradle(Module:app) 的 android 块内,并且路径完全匹配:
    android {
        // ...其他配置
        packagingOptions {
            exclude 'org/apache/xml/security/resource/xmlsecurity_de.properties'
            // 如果还有其他同目录的重复文件,一并排除
            exclude 'org/apache/xml/security/resource/xmlsecurity_en.properties'
        }
    }
    
  • 排查AAR的依赖传递:有些AAR会自带依赖库,可能和你项目中已有的xml-security相关依赖冲突。用前面提到的 ./gradlew app:dependencies 命令找到冲突的依赖,然后在导入AAR时排除重复部分:
    implementation(name: 'your-aar-filename', ext: 'aar') {
        exclude group: 'org.apache.santuario', module: 'xmlsec'
    }
    
  • 强制统一依赖版本:让所有依赖都使用同一个版本的xml-security,避免版本差异导致的文件重复。在 build.gradle(Module:app) 中添加:
    configurations.all {
        resolutionStrategy.force 'org.apache.santuario:xmlsec:2.2.3' // 替换为你需要的稳定版本
    }
    
  • 临时方案:手动解压AAR文件,删除其中的重复properties文件,再重新打包成AAR导入项目(不推荐长期使用,最好通过依赖管理彻底解决)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 08:12:50