我添加科特林到gradle.build與依賴(科特林版本1.0.4):科特林gradle.build因爲拋出:ZipException重複
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
我alrea DY嘗試:
我試過這個解決方案: Kotlin,Java,multidex,Dagger 2,Butterknife and Realm: transformClassesWithJarMergingForDebug: duplicate entry: org/jetbrains/annotations/NotNull.class 但它結束了,不僅Nullable.class和NotNull.class是重複的,但也從組織/的IntelliJ /郎/註解類/。
在我添加了五個類後,它仍然崩潰。有沒有更好的方法來擺脫這個問題,不要手動添加導致此異常的每個類?
UPDATE(16年2月2日)
由於我的工作問題了一下,我發現我的項目相關的註釋類NonNls.class
和Contract.class
被丟失,如果我刪除org.jetbrains:annotations-java5:15.0
。它們不在kotlin-runtime中,而是在Jetbrains註釋依賴項中。如何在不添加Jetbrains註釋依賴關係的情況下添加它?
'kotlin-runtime'只綁定4個註釋:'Nullable','NotNull','Mutable'和'ReadOnly'。所以如果你有其他註釋衝突,他們可能來自另一個依賴。 – Ilya
感謝您的回答@Ilya。我試過的解決方案是使用'NotNull'和'Nullable'。之後'Flow.class'是重複的。正如我添加'Flow.class'到列表以覆蓋annotations.jar,另一個類是問題。我認爲這個問題仍然存在於'annotations-java5'中。 – alexfi
簡單的方法是將Android編譯的org.jetbrains:annotations-java5:15.0''移除,因爲android-support庫提供了自己的註釋,所以嘗試使用它們從IntelliJ獲得的intead。 – piotrek1543