最近遇到个问题,本来运行的好好的程序,突然就执行不了了,一执行就报错
Duplicate class kotlin.time.jdk8.DurationConversionsJDK8Kt found in modules jetified-kotlin-stdlib-1.8.20 (org.jetbrains.kotlin:kotlin-stdlib:1.8.20) and jetified-kotlin-stdlib-jdk8-1.7.10 (org.jetbrains.kotlin:kotlin-stdlib-jdk8:1.7.10)
百思不得其解,我是啥也没改啊,而且我看了下我的kotlin版本,设置的是1.6.21,为什么突然就出现了个1.8.20
只能先看看依赖情况,到底是什么东西依赖了1.8.20
执行指令
./gradlew :app:dependencies > dependencies.txt
打开结果搜索"kotlin-stdlib"
holly shit!全都强升到了1.8.20,gradle会强制将低版本对齐到高版本,所以还是得看看,到底这1.8.20从哪来的,再搜索"kotlin-stdlib:1.8.20"
这样就很清楚了,原来是facebook三方登录,之前的依赖方式是总是依赖最新的,所以facebook依赖变更时,导致这边出现了冲突的情况,将facebook指定版本为16.20,再次编译,问题解决
implementation 'com.facebook.android:facebook-login:16.2.0'