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

升级Android Studio 3.0后Gradle构建报ZipException重复条目问题

解决Android Studio 3.0升级后Gradle构建的重复类条目错误

嗨,这个问题我升级AS3.0的时候也踩过一模一样的坑!带<declare-styleable>的自定义View出现duplicate entry错误,大概率是新版本Gradle构建流程变化、缓存残留或者依赖配置出了问题,给你几个实用的排查和解决方向:

  • 检查重复依赖配置
    先看看你的自定义View所在模块是不是被重复引用了,比如主模块里同时用了implementation和旧的compile依赖同一个library,或者子模块和主模块都依赖了这个含自定义View的模块。你可以执行命令:

    ./gradlew :lf-android-myproject:dependencies
    

    查看完整的依赖树,找有没有重复出现的目标模块或类所在的依赖项。

  • 彻底清理构建缓存
    AS3.0的构建缓存机制有时候会残留旧的编译文件,导致重复类问题。试试这几步:

    1. 点击AS工具栏的 Build > Clean Project
    2. 接着执行 Build > Rebuild Project
    3. 手动删除项目根目录的.gradle文件夹、模块下的build文件夹
    4. 最后通过 File > Invalidate Caches / Restart 清理AS的缓存并重启
  • 排查<declare-styleable>的重复定义
    确认你的res/values/attrs.xml里,<declare-styleable name="SomeCustomView">只定义了一次,没有在其他xml文件里重复声明。另外如果自定义View在library模块里,别同时引入library的jar包和aar包,这会导致类被重复打包。

  • 升级Gradle插件版本
    早期的AS3.0对应的Gradle插件(比如3.0.0)存在一些已知的构建bug,你可以尝试升级到同系列的稳定版本。在项目根目录的build.gradle里修改:

    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1' // 或者更高的3.x稳定版
    }
    

    注意要匹配对应的Gradle版本(比如3.0.1插件对应Gradle 4.1版本)。

  • 检查类的重复存在
    确认你的SomeCustomView.class没有在多个编译目录里重复出现,比如同时存在于src/main/java和src/debug/java目录下,或者在多渠道打包的配置中被重复引入。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:52:33