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

Android Studio更新后报错Program type already present: com.google.common.annotations.Beta求助

解决Android Studio更新后出现Program type already present: com.google.common.annotations.Beta错误

嘿,这个问题我之前帮不少开发者解决过——本质就是依赖冲突闹的!你的项目里有多个依赖库都打包了com.google.common.annotations.Beta这个类,D8编译器合并字节码的时候发现重复定义,直接就报错了。下面给你几个靠谱的解决方法:

方案1:排查并排除重复依赖

首先得搞清楚到底是哪些库在重复引入这个类,用Gradle命令生成依赖树:

./gradlew app:dependencies

在输出结果里搜索com.google.common相关的条目,你会发现有多个依赖(比如第三方SDK、Google服务库)都自带了Guava(com.google.common.annotations.Beta属于Guava的类)。找到重复的来源后,在对应的依赖里排除掉Guava:

// 举个例子,如果是某个第三方库引入了重复的Guava
implementation('com.example:some-third-party-lib:1.0.0') {
    exclude group: 'com.google.guava', module: 'guava'
}

方案2:统一Guava依赖版本

如果排查后发现是不同版本的Guava被引入,最简单的办法是强制整个项目使用同一个稳定版本的Guava。在项目根目录的build.gradle里添加这段配置:

allprojects {
    repositories {
        // 保留你原来的仓库配置,比如google()、jcenter()等
    }
    configurations.all {
        // 替换成你需要的Guava稳定版本,比如28.1-android是适配Android的版本
        resolutionStrategy.force 'com.google.guava:guava:28.1-android'
    }
}

方案3:清理项目缓存

有时候旧的编译缓存也会导致这类奇怪的依赖问题,试试这两步:

  • 点击Android Studio工具栏的File -> Invalidate Caches...,选择Invalidate and Restart,让AS彻底清理缓存并重启
  • 手动删除项目根目录的.gradle文件夹和app/build文件夹,然后重新同步项目(点击工具栏的Sync Project with Gradle Files)

如果你的项目里用到了Firebase、Google Play Services这类库,也要注意它们可能依赖了不同版本的Guava,同样可以用上面的方法处理。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 06:37:07