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

Android Studio 3.0.1编译报错:Program type already present问题修复咨询

解决「Program type already present: com.squareup.picasso.Action$RequestWeakReference」错误

嗨,这个问题我遇到过好几次了,是典型的依赖重复冲突问题——你的项目里重复引入了Picasso库,导致同一个类被多次打包,所以编译报错。具体原因是:你自己显式添加了com.squareup.picasso:picasso:2.5.2,但某个间接依赖(比如Firebase或Google Play Services相关的库)也偷偷包含了Picasso版本,两者冲突了。

下面是具体的修复步骤:

步骤1:确认重复依赖的来源

先在Android Studio的Terminal里执行这个命令,查看完整的依赖树:

./gradlew app:dependencies

执行后你能清晰看到哪个库间接引入了Picasso,确认冲突的源头。

步骤2:修改Gradle脚本解决冲突

有两种方案可选:

方案A:排除间接依赖中的Picasso

如果你想保留自己显式添加的Picasso版本,就在引入冲突的依赖里排除Picasso模块。比如假设是play-services带来的,就这么改:

compile('com.google.android.gms:play-services:11.8.0') {
    exclude group: 'com.squareup.picasso', module: 'picasso'
}

方案B:移除自己显式添加的Picasso

如果间接依赖的Picasso版本和你的项目兼容,直接删掉这一行即可:

// 删掉这行
// compile 'com.squareup.picasso:picasso:2.5.2'

额外优化建议

  • 别再引入整个com.google.android.gms:play-services了!这会把所有Play Services模块都打包进来,不仅增大APK体积,还容易引发依赖冲突。应该只引入你实际需要的子模块,比如play-services-maps、play-services-location等。
  • 保持Firebase和Google Play Services的版本一致(你现在都是11.8.0,这点做得很对,继续保持)。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 08:45:47