我将Kotlin添加到依赖的gradle.build(Kotlin版本1.0.4):
compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
我发现它与我的其他依赖项存在冲突:
compile 'org.jetbrains:annotations-java5:15.0'
运行构建后,它会因ZipException而崩溃:
com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: org/jetbrains/annotations/Nullable.class
我已尝试过的内容:
我试过这个解决方案: Kotlin,Java,multidex,Dagger 2,Butterknife and Realm: transformClassesWithJarMergingForDebug: duplicate entry: org/jetbrains/annotations/NotNull.class 但它结束了,不仅 Nullable.class 和 NotNull.class 是重复的,而且来自 org / intellij / lang / annotations / 。
在我添加了五个课程后,它仍然崩溃了。是否有更好的方法来解决这个问题,不是手动添加导致此异常的每个类?
更新(02.02.16)
当我对这个问题进行了一些研究时,我发现对于我的项目,如果我删除了NonNls.class
,那么缺少相关的注释类Contract.class
和org.jetbrains:annotations-java5:15.0
。它们不在kotlin-runtime中,而是在Jetbrains注释依赖项中。如何在不再添加Jetbrains注释依赖项的情况下添加它?
答案 0 :(得分:0)
尝试使用而不是:
compile 'org.jetbrains:annotations-java5:15.0'
这样:
compile 'com.android.support:support-annotations:+'
默认情况下,Android支持库提供了类似Kotlin的一些最常用的注释,因此如果您使用@NonNull
,@Nullable
和@Null
注释等基础,请删除上述依赖项。