Android Studio构建失败,Kotlin

:app:mergeDebugAssets :app:processDebugJavaRes UP-TO-DATE :app:transformResourcesWithMergeJavaResForDebug FAILED FAILURE: Build failed with an exception. * What went wrong: Execution failed for task ':app:transformResourcesWithMergeJavaResForDebug'. > com.android.build.api.transform.TransformException: com.android.builder.packaging.DuplicateFileException: Duplicate files copied in APK kotlin/internal/internal.kotlin_builtins File1: /Users/KD/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-compiler-embeddable/1.0.4/172b43fbc03b521fed141484b212d6725fa671a9/kotlin-compiler-embeddable-1.0.4.jar File2: /Users/KD/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-runtime/1.0.4/8e25da5e31669f5acf514bdd99b94ff5c7003b3b/kotlin-runtime-1.0.4.jar 

我的build.gradle:

 apply plugin: 'com.android.application' apply plugin: 'kotlin-android' apply plugin: 'kotlin-android-extensions' android { compileSdkVersion 23 buildToolsVersion "23.0.2" defaultConfig { applicationId "com.app2par.ctime" minSdkVersion 16 // minSdkVersion 21 // targetSdkVersion 23 targetSdkVersion 22 versionCode 1 versionName "1.0" testInstrumentationRunner "android.support.test.runner.AndroidJUnitRunner" multiDexEnabled false // multiDexEnabled true } dexOptions { preDexLibraries true javaMaxHeapSize "2g" // Use gig increments depending on needs incremental true } buildTypes { debug { minifyEnabled false // testCoverageEnabled true // ext.betaDistributionReleaseNotes = getCrashlyticsBetaMessage() // ext.betaDistributionGroupAliases = 'team' } release { minifyEnabled false proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro' } } sourceSets { main.java.srcDirs += 'src/main/kotlin' } // dataBinding { // enabled = true // https://code.google.com/p/android/issues/detail?id=187443&q=attachments%3D0&colspec=ID%20Type%20Status%20Owner%20Summary%20Stars // } lintOptions { abortOnError false } packagingOptions { exclude 'META-INF/LICENSE' exclude 'META-INF/LICENSE-FIREBASE.txt' exclude 'META-INF/NOTICE' } compileOptions { sourceCompatibility JavaVersion.VERSION_1_7 targetCompatibility JavaVersion.VERSION_1_7 } } dependencies { compile fileTree(include: ['*.jar'], dir: 'libs') compile project(':firebasesync') compile project(':liboid') compile project(':cloudtimemodel') androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.1') { exclude group: 'com.android.support' } androidTestCompile('com.android.support.test.espresso:espresso-contrib:2.2.1') { exclude group: 'com.android.support' } compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version" // compile('com.crashlytics.sdk.android:crashlytics:2.5.5@aar') { // transitive = true; // } // compile 'com.google.android.gms:play-services:5.0.89' // compile 'com.google.android.gms:play-services:7.0.0' testCompile 'junit:junit:4.12' compile 'com.android.support:appcompat-v7:23.1.1' compile 'com.android.support:design:23.1.1' compile "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" // compile 'com.firebase:firebase-client-android:2.0.3.+' // compile 'com.google.android.gms:play-services-safetynet:8.3.0' // compile 'com.google.android.gms:play-services-auth:8.3.0' compile 'com.google.android.gms:play-services-plus:7.0.0' // play-services-plus:7.0.0 : office-mover // compile 'com.google.android.gms:play-services-auth:8.3.0' // play-services-auth:8.3.0 : ShoppingList++ // compile 'com.google.android.gms:play-services-identity:7.0.0' } buildscript { // ext.kotlin_version = '1.0.0-rc-1036' ext.kotlin_version = '1.0.4' repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } } dependencies { classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version" // classpath 'org.ajoberstar:grgit:1.1.0' // classpath 'io.fabric.tools:gradle:1.+' // classpath 'org.kt3k.gradle.plugin:coveralls-gradle-plugin:2.5.0-x' } } repositories { mavenCentral() maven { url 'https://maven.fabric.io/public' } } 

如何解决或诊断这个?

您应该从您的dependencies部分删除compile "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version" ,并将其移至buildscript { dependencies { ... } }

你没有把错误的build.gradle文件中compile "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"

您可以使用kotlin插件的内置转换器来处理这个问题。 根据Kotlin Docs

在项目中配置Kotlin

当添加一个新的Kotlin文件时,IntelliJ IDEA(和Android Studio)会自动提示我们是否要为项目配置Kotlin运行时。 但是,目前转换现有的Java文件不会提示这个动作。 因此,我们必须手动调用它(通过查找操作 ):

配置-科特林

然后我们提示Kotlin的版本。 从已安装的版本列表中选择最新版本。

配置-科特林-详细

在我们配置Kotlin之后,应该更新应用程序的build.gradle文件。 现在我们可以看到,应用插件:“kotlin-android”,并添加了依赖关系。

(有关如何为您的项目设置gradle的更多详细信息,请查看使用Gradle )

最后要做的是同步项目。 我们可以在提示中按Sync Now或调用与Gradle文件同步的项目

https://kotlinlang.org/assets/images/tutorials/kotlin-android/sync-project-with-gradle.png

来自: https : //kotlinlang.org/docs/tutorials/kotlin-android.html

检查上面的链接了解更多信息。

希望它会有所帮助。

你只需要应用一个插件,在你的情况下apply plugin: 'kotlin-android-extensions' ,只compile "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"这个依赖项。 它为我工作