运行条件
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