material-calendarview依赖报错:android.support重复类问题求助
问题原因
你的项目完全基于AndroidX(所有核心依赖如androidx.appcompat:appcompat都是AndroidX包),但你引入的material-calendarview旧版本(2.0.1、1.4.3)依赖的是已废弃的com.android.support库,两套库包含大量重复类,导致编译时出现Duplicate class错误。
解决方案
有两种可靠解决方式,优先选第一种:
方式一:使用适配AndroidX的material-calendarview版本
该库从3.0.0版本起已完全迁移到AndroidX,直接替换依赖即可:
在模块级app/build.gradle中修改依赖行:
implementation 'com.github.prolificinteractive:material-calendarview:3.0.0'
(若需要最新功能,可替换为该库的最新版本号,比如当前最新为3.1.0)
方式二:启用Jetifier自动迁移旧依赖(适合必须用旧版本的场景)
如果一定要用2.0.1或更早版本,Android的Jetifier工具可自动将所有依赖的com.android.support库转换为AndroidX版本:
- 在项目根目录的
gradle.properties文件中添加以下配置:
android.useAndroidX=true android.enableJetifier=true
- 点击Android Studio右上角的「Sync Now」同步项目,Jetifier会自动处理依赖转换,解决类重复问题。
额外优化建议
- 项目根目录
build.gradle中的allprojects仓库配置可删除,因为settings.gradle已通过dependencyResolutionManagement统一配置仓库,重复声明易引发冲突。 - 确保你的Android Studio版本在3.2及以上(Jetifier需要该版本支持)。
内容的提问来源于stack exchange,提问作者Deimos
相关产品推荐
相关产品推荐

