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

Android Studio出现Duplicate class错误(androidx.core依赖)求助

解决Android重复类冲突及Jetifier引发的代码异常问题

1. 彻底切换到AndroidX,移除所有Support库痕迹

  • 遍历所有模块的build.gradle(Module级配置文件),把所有com.android.support:开头的依赖全部替换为对应的AndroidX库。比如com.android.support:support-compat:28.0.0直接换成androidx.core:core:1.13.0(或官方最新稳定版)。
  • 打开项目根目录的gradle.properties,确保配置如下:
    android.useAndroidX=true
    android.enableJetifier=false  # 完全迁移后不需要Jetifier转译旧依赖,开了反而容易出问题
    
  • 清理缓存并同步:点击File > Invalidate Caches... > Invalidate and Restart,之后在终端执行./gradlew clean build彻底清理构建产物。

2. 定位并排除第三方依赖带来的重复库

如果还是报重复类,用Gradle命令生成依赖树排查来源:

./gradlew app:dependencies  # 把app换成你的主模块名称

找到那些偷偷引入旧Support库的第三方依赖,在依赖声明里加上排除规则。比如某广告SDK带了support-compat:

implementation('com.example:ad-sdk:2.0.0') {
    exclude group: 'com.android.support', module: 'support-compat'
}

3. 修复Jetifier导致的代码失效问题

之前开Jetifier后代码崩了,是因为它错误转译了部分类或资源。现在关闭Jetifier并完成AndroidX迁移后,需要手动修正代码:

  • 替换所有代码里的android.support.v4、android.support.v7等包路径,比如android.support.v7.app.AppCompatActivity改成androidx.appcompat.app.AppCompatActivity。
  • 检查布局XML里的组件引用,把Support库相关的标签换成AndroidX版本,比如android.support.v7.widget.RecyclerView改成androidx.recyclerview.widget.RecyclerView。

4. 统一AndroidX库版本避免潜在冲突

确保所有模块用的AndroidX库版本一致,防止跨模块版本不兼容。可以在根目录build.gradle里统一管理版本:

ext {
    androidxCore = '1.13.0'
    androidxAppCompat = '1.6.1'
}

然后在模块里引用:

implementation "androidx.core:core:$androidxCore"
implementation "androidx.appcompat:appcompat:$androidxAppCompat"

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 13:12:42