TransformException:java.util.zip.ZipException:重复条目:io / realm / annotations / Ignore.class

时间:2016-03-08 07:58:48

标签: realm

这是我的 build.gradle ,如下所示:

 apply plugin: 'com.android.application'
    apply plugin: 'kotlin-android'
    apply plugin: 'kotlin-android-extensions'
    apply plugin: 'realm-android'
    buildscript {
        ext.kotlin_version = '1.0.0'
        ext.anko_version = '0.8.2'
        ext.okhttp_version = '2.4.0'
        ext.butterknife_version = '7.0.1'
        ext.realm_version = '0.88.0-SNAPSHOT'

        repositories {
            jcenter()
            maven { url 'https://dl.bintray.com/kotlin/kotlin-eap/' }
            maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' }
            maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }
        }

        dependencies {
            classpath 'com.android.tools.build:gradle:1.5.0'
            classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
            classpath "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
            classpath "io.realm:realm-gradle-plugin:$realm_version"
        }
    }
    repositories {
        jcenter()
        maven { url 'https://dl.bintray.com/kotlin/kotlin-eap/' }
        maven { url 'https://oss.sonatype.org/content/repositories/ksoap2-android-releases/' }
        maven { url 'http://oss.jfrog.org/artifactory/oss-snapshot-local' }

    }
    kapt {
        generateStubs = true
    }
    android {
        compileSdkVersion 23
        buildToolsVersion "23.0.2"

        defaultConfig {
            applicationId "cn.com.xxxx.xxxxx"
            minSdkVersion 15
            targetSdkVersion 23
            versionCode 1
            versionName "1.0"
            multiDexEnabled true
        }
        buildTypes {
            release {
                minifyEnabled false
                proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
            }
        }

        dexOptions {
            incremental false
        }
        packagingOptions {
            exclude 'META-INF/LICENSE'
            exclude 'META-INF/NOTICE'
        }
        sourceSets {
            main.java.srcDirs += 'src/main/java'
        }
    }

    //configurations { all*.exclude group: 'com.android.support', module: 'support-v4' }

    dependencies {
        compile 'com.android.support:multidex:1.0.1'

        androidTestCompile 'com.android.support:multidex-instrumentation:1.0.1'

        compile fileTree(dir: 'libs', include: ['*.jar'])
    //    testCompile 'junit:junit:4.12'
        compile 'com.android.support:appcompat-v7:23.1.1'
        compile 'com.android.support:design:23.1.1'
        compile 'de.hdodenhof:circleimageview:1.2.2'
        compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
        compile "org.jetbrains.anko:anko-sdk15:$anko_version"
        compile "org.jetbrains.anko:anko-support-v4:$anko_version"
        compile "org.jetbrains.anko:anko-appcompat-v7:$anko_version"
        compile "org.jetbrains.anko:anko-design:$anko_version"
        compile "org.jetbrains.anko:anko-recyclerview-v7:$anko_version"
        compile 'com.mcxiaoke.volley:library:1.0.19'
        compile 'de.greenrobot:eventbus:2.4.0'
        compile "com.squareup.okhttp:okhttp:$okhttp_version"
        compile "com.squareup.okhttp:okhttp-urlconnection:$okhttp_version"
        compile 'com.squareup.picasso:picasso:2.5.2'
        compile 'com.google.code.ksoap2-android:ksoap2-android:3.5.0'
        compile("io.realm:realm-android:$realm_version"){
            exclude group: 'com.android.support', module: 'multidex'
        }
        compile "org.jetbrains.kotlin:kotlin-reflect:${kotlin_version}"
        compile 'com.github.KeepSafe:ReLinker:1.1'
        compile 'com.github.jjobes:slideDateTimePicker:1.0.2'


        kapt "io.realm:realm-android:$realm_version"

    }

但是当我在发生错误后运行我的项目时:

 Error:Gradle: Execution failed for task       ':app:transformClassesWithJarMergingForDebug'.
> com.android.build.api.transform.TransformException: java.util.zip.ZipException: duplicate entry: io/realm/annotations/Ignore.class

我尝试了this solution和StackOverflow中的一些问题,但无法解决。

1 个答案:

答案 0 :(得分:1)

使用0.88,你不再需要自己配置Realm来与Kotlin合作。这一切都在插件内部完成。因此,您应该删除kapt "io.realm:realm-android:$realm_version

我们在这里有一个与Kotlin合作的例子:

https://github.com/realm/realm-java/blob/master/examples/kotlinExample/build.gradle

https://github.com/realm/realm-java/blob/master/examples/build.gradle