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

升级至API 34时Google Play Core库版本冲突问题求助

解决Play Core库重复类冲突问题

问题分析

错误提示的重复类com.google.android.play.core.listener.StateUpdatedListener同时存在于旧版com.google.android.play:core:1.6.1和新版com.google.android.play:core-common:2.0.2中,说明项目存在间接依赖引入了旧版Play Core库,升级时引入的新版拆分后core-common库与之产生版本冲突。

解决步骤

1. 定位间接依赖来源

执行./gradlew dependencies无输出,大概率是未指定具体模块(多模块项目场景),需补充模块名执行:

# 将app替换为你的主模块名称,如module-main
./gradlew app:dependencies

若仍无有效输出,执行带扫描参数的命令生成详细依赖报告:

./gradlew dependencies --scan

打开报告后搜索com.google.android.play:core:1.6.1,即可定位到引入旧版库的第三方依赖。

2. 排除旧版依赖或强制统一版本

方案一:精准排除特定依赖

找到引入旧版core库的第三方依赖后,在对应implementation中添加排除规则:

implementation '第三方库坐标' {
    exclude group: 'com.google.android.play', module: 'core'
}
方案二:全局强制使用新版

若不想逐个排查,直接在模块build.gradle中添加版本强制策略,让所有依赖统一使用指定新版Play Core相关库:

configurations.all {
    resolutionStrategy {
        // 可替换为最新稳定版
        force 'com.google.android.play:core:2.0.2'
        force 'com.google.android.play:core-common:2.0.2'
    }
}

3. 清理冗余依赖

你的依赖配置中有重复声明的库(如两次com.google.android.material:material:1.12.0、两次androidx.appcompat:appcompat:1.7.0),建议删除重复项,简化依赖结构。

4. API34适配额外建议

当前使用的android.arch.lifecycle:extensions:1.1.1是旧版非AndroidX架构组件,建议升级为AndroidX版本(原库已废弃,推荐使用具体细分组件):

// 替换旧版lifecycle-extensions
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0'
implementation 'androidx.lifecycle:lifecycle-livedata-ktx:2.7.0'

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.21 10:33:14