尝试在金丝雀上迁移5

Yur*_*yac 6 android gradle kotlin android-studio-3.0

我尝试迁移到android-studio 3 canary 5并得到了这个错误

Error:Execution failed for task ':data:createFullJarDebug'.
> java.util.zip.ZipException: duplicate entry: META-INF/data_debug.kotlin_module
Run Code Online (Sandbox Code Playgroud)

在项目中,我有3个模块app,data,domain我试图加

packagingOptions {
    exclude 'META-INF/data_debug.kotlin_module'
}
Run Code Online (Sandbox Code Playgroud)

app,data但错误出现了.

其他

build.gradle我补充说

javaCompileOptions {
    annotationProcessorOptions {
        includeCompileClasspath = true
    } 
}
Run Code Online (Sandbox Code Playgroud)

compileimplementation并删除retrolambda这是所有我做过什么用于迁移到新的Android工作室.请帮我修复此错误.

更新

金丝雀7问题不会消失

aga*_*aga 0

您是否碰巧在类级别定义了一些属性,例如这样

private const val PARAM_FIRST = "some_param"
private const val PARAM_SECOND = "second_param"

class CloudStore {
    // ...
}
Run Code Online (Sandbox Code Playgroud)

如果答案是“是”,请尝试将它们移动到伴生对象中,如下所示:

class CloudStore {

    companion object {
        private const val PARAM_FIRST = "some_param"
        private const val PARAM_SECOND = "second_param"
    }

    // ...
}
Run Code Online (Sandbox Code Playgroud)

我遇到过类似的问题,一旦我将这些参数移到类中,该问题就消失了。如果问题解决了,我就没有调查过,所以我不能说确切的原因是什么:AS 3.0、Gradle 4.1 或 Kotlin 1.1.3-2 中是否有问题(在我的情况下它们都立即更新了) )。