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/docs/tutorials/kotlin-android.html
检查上面的链接了解更多信息。
希望它会有所帮助。
你只需要应用一个插件,在你的情况下apply plugin: 'kotlin-android-extensions'
,只compile "org.jetbrains.kotlin:kotlin-android-extensions:$kotlin_version"
这个依赖项。 它为我工作
- Android Studio 3.0在重建之后重复压缩输入警告
- ResourceNotFoundException在升级到Canary 6后,在API 16 AVD上运行Kotlin项目
- 如何根据自定义规则验证源代码? (代码中没有“DANGER”字符串)
- 什么在我的gradle文件仍然保证警告:“配置’编译’已经过时,并已被取代’实施’”?
- Gradle上的Android应用程序:无法合并dex
- Android数据绑定构建失败后,Gradle插件更新迁移到annotationProcessor
- Gradle构建失败,新的Gradle 3.0.0
- Android应用程序中的Kotlin编译器:连接拒绝主机:127.0.0.1
- 如何获得不同的单元和instrumentationTests为Android的顶级功能的实现