微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Java和Kotlin结合构建错误(重复Zip条目)

我已将Kotlin库添加到现有项目中.之后我得到了构建错误.我评论了最近添加的所有库,并检查了添加kotlin库后的主要问题

Error:Execution Failed for task ':app:transformClassesWithMultidexlistForDebug'.
> java.io.IOException: Can't write [/home/imedrix-server/StudioProjects/kardioscreen-operatorapp/app/build/intermediates/multi-dex/debug/componentClasses.jar] (Can't read [/home/imedrix-server/StudioProjects/kardioscreen-operatorapp/app/build/intermediates/transforms/desugar/debug/76.jar(;;;;;;**.class)] (Duplicate zip entry [76.jar:org/intellij/lang/annotations/Flow.class]))

项目gradle

buildscript {
    ext.kotlin_version = '1.2.21'
    repositories {
        google()
        jcenter()
    }
    dependencies {
        classpath 'com.android.tools.build:gradle:3.0.1'
        classpath 'com.google.gms:google-services:3.0.0'
        classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
        classpath ('com.google.firebase:firebase-plugins:1.0.5') {
            exclude group: 'com.google.guava',module: 'guava-jdk5'
        }
    }
}

allprojects {
    repositories {
        google()
        jcenter()
        maven {url "https://maven.google.com"}
    }
}

而应用程序是gradle

apply plugin: 'com.android.application'

apply plugin: 'com.google.firebase.firebase-crash'

apply plugin: 'kotlin-android'

apply plugin: 'kotlin-android-extensions'

apply plugin: 'kotlin-kapt'

android {
    compileSdkVersion 27
    buildToolsversion '27.0.3'
    defaultConfig {
        applicationId 'com.example.android'
        minSdkVersion 20
        targetSdkVersion 27
        versionCode 17
        versionName "1.0"
        multiDexEnabled true
        vectorDrawables.useSupportLibrary = true
    }
    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'
//            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'),'proguard-rules.pro'
        }
        debug {
            buildConfigField("String","BASE_URL","\"url\"")
            buildConfigField("String","API_KEY","\"key\"")
        }
    }

    productFlavors {
    }
    dexOptions {
        preDexLibraries = false
        javaMaxHeapSize "4g"
    }

    compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }

    packagingOptions {
        exclude 'meta-inf/LICENSE.txt'
        exclude 'meta-inf/NOTICE.txt'
        exclude '.readme'
    }
}



dependencies {
    compile filetree(include: ['*.jar'],dir: 'libs')
    compile project(':controllers')
    compile files('libs/achartengine-1.2.0.jar')
    compile files('libs/dfuLibrary.jar')
    compile 'com.android.support:appcompat-v7:27.0.2'
    compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"
    compile 'com.android.support:design:27.0.2'
    compile 'com.android.support:recyclerview-v7:27.0.2'
    compile 'com.android.support:cardview-v7:27.0.2'
    compile 'com.polidea.rxandroidble:rxandroidble:1.0.2'
    compile 'com.google.firebase:firebase-crash:11.8.0'
    compile 'com.android.support.constraint:constraint-layout:1.1.0-beta4'
    compile 'com.android.support:support-v4:27.0.2'
    compile 'com.google.android.gms:play-services-location:11.8.0'
    compile 'com.jakewharton:butterknife:8.8.1'
    testCompile 'junit:junit:4.12'
    /*compile 'org.hashids:hashids:1.0.3'
        compile 'com.google.dagger:dagger:2.11'
        compile 'javax.inject:javax.inject:1'
        kapt 'com.google.dagger:dagger-compiler:2.11'
        compile 'io.reactivex.rxjava2:rxjava:2.1.3'
        compile 'io.reactivex.rxjava2:rxandroid:2.0.1'
        kapt 'com.jakewharton:butterknife-compiler:8.8.1'
        compile 'com.amitshekhar.android:rx2-android-networking:1.0.0'
        compile 'com.android.support:multidex:1.0.2'*/
}

apply plugin: 'com.google.gms.google-services'

如果我从应用程序gradle中删除以下行,一切正常.但是如果我添加kotlin库我就会收到错误.

compile "org.jetbrains.kotlin:kotlin-stdlib-jdk7:$kotlin_version"

我如何一起使用kotlin和Java.

最佳答案
Atlast我找到了答案,这是由于重复输入注释,可以通过使用gradle中的以下行来解决.

configurations {
        compile.exclude group : 'org.jetbrains',module : 'annotations'
}

原文地址:https://www.jb51.cc/android/430193.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐