Android 旧项目配置 Kotlin 踩到的坑。

运行条件

MacOS Android Studio 3.1.2
Kotlin Version 1.2.41

这两天在些项目的过程中,因为是 Java 语言开发的,想给它引入 Kotlin 支持,所以就直接进行了 Kotlin 配置。至于详细配置,这里就不过多描述了,相信目前市面上相关资料已经很泛滥了。那么下面就直接来整理一下所遇到的坑,如下图:

这里写图片描述

该错误是运行 app 时会报出来的,编码过程中对于 Clean , Rebuild 等操作都毫无影响。
根据上图提示,我以为是分包问题,或者 Jar 包冲突,在 Android Studio 的 Terminal 中 输入以下命令,显示有冲突的包。

./gradlew -q app:dependencies

最终执行结果,无冲突。。。。

这里贴出上面截图的一些异常描述:

java.lang.RuntimeException: com.android.builder.dexing.DexArchiveMergerException: Error while merging dex archives:xxxx
com.android.tools.r8.CompilationFailedException: Compilation failed to complete
Program type already present: org.intellij.lang.annotations.JdkConstants$PatternFlags
Message{kind=ERROR, text=Program type already present: org.intellij.lang.annotations.JdkConstants$PatternFlags, sources=[Unknown source file], tool name=Optional.of(D8)}

如果有朋友运行时异常和我上面贴出来的一样的话,不妨试试我这边使用的解决方案:

Project/gradle.properties文件中加入以下代码禁用 D8 : 

android.enableD8=false

猜你喜欢

转载自blog.csdn.net/lv_fq/article/details/80518324