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

Gradle构建成功但无法运行应用或打包APK问题咨询

解决Gradle构建中transformClassesWithMultidexlistForDebug的重复类错误

这个错误的核心是项目中存在重复的依赖类,具体是support-core-ui-27.1.0.aar里的类被多次引入,导致Multidex打包时无法处理重复的zip条目。下面是几个逐步排查和解决的方法:

1. 先找出重复依赖的根源

在项目根目录的终端执行以下命令,查看所有依赖的树状结构,定位重复引入的support-core-ui或相关support库:

# Mac/Linux
./gradlew app:dependencies

# Windows
gradlew app:dependencies

在输出结果里搜索support-core-ui,看看是不是有不同版本的该库被多个依赖间接引入,或者同一个版本被重复引用。

2. 排除重复的依赖项

找到重复来源后,在app/build.gradle的依赖中给对应的库添加排除规则。比如如果是某第三方库间接引入了重复的support-core-ui,可以这样写:

implementation('com.example:some-third-party-lib:1.0.0') {
    exclude group: 'com.android.support', module: 'support-core-ui'
}

如果是多个依赖都存在版本不一致的问题,也可以全局强制统一support库版本,在app/build.gradle的android块内添加:

configurations.all {
    resolutionStrategy {
        // 强制指定所有support-core-ui的版本为27.1.0
        force 'com.android.support:support-core-ui:27.1.0'
        // 也可以统一所有support库版本,比如同时强制appcompat-v7等
        // force 'com.android.support:appcompat-v7:27.1.0'
    }
}

3. 清理Gradle缓存并重新构建

有时候Gradle缓存的旧文件会导致这类异常,执行以下命令彻底清理缓存并重新构建:

# Mac/Linux
./gradlew clean build --refresh-dependencies

# Windows
gradlew clean build --refresh-dependencies

这个命令会清除项目的构建文件,同时重新下载所有依赖,避免缓存损坏或重复文件干扰。

4. 检查Multidex配置是否正确

确保你的Multidex配置没有问题:

  • 在app/build.gradle的android.defaultConfig中开启Multidex:
android {
    defaultConfig {
        multiDexEnabled true
    }
}
  • 如果你的minSdkVersion低于21,还需要添加Multidex依赖:
implementation 'com.android.support:multidex:1.0.3'
  • 自定义Application类的话,要么继承MultiDexApplication,要么在attachBaseContext方法中调用MultiDex.install(this)。

5. 检查本地库是否重复

如果项目中手动添加了本地aar/jar文件,检查这些文件里是否包含和support-core-ui重复的类,若有则移除重复的本地库或调整依赖结构。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 12:09:23