【问题标题】:Attempt to migrate on canary 5尝试在 Canary 5 上迁移
【发布时间】:2017-07-03 12:40:34
【问题描述】:

我尝试迁移到 android-studio 3 canary 5 并收到此错误

Error:Execution failed for task ':data:createFullJarDebug'.
> java.util.zip.ZipException: duplicate entry: META-INF/data_debug.kotlin_module

在项目中,我有 3 个模块 appdatadomain,我尝试添加

packagingOptions {
    exclude 'META-INF/data_debug.kotlin_module'
}

appdata,但错误出现了。

其他

build.gradle我加了

javaCompileOptions {
    annotationProcessorOptions {
        includeCompileClasspath = true
    } 
}

compile 更改为implementation 并删除retrolambda,这就是我为迁移到新的Android Studio 所做的一切。请帮我解决这个错误。

更新

canary 7 问题不会消失

【问题讨论】:

  • Canary 5 对我来说太麻烦了。所以,我的建议是回到金丝雀 4。

标签: android gradle kotlin android-studio-3.0


【解决方案1】:

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

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

class CloudStore {
    // ...
}

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

class CloudStore {

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

    // ...
}

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

【讨论】:

  • 我没有带有常量的kotlin文件,只有扩展方法,如果我有更多时间,我尝试将它们全部替换为util方法。
【解决方案2】:

我在 Android Studio 3.0 稳定版中遇到了类似的问题。 BuildClean Project 解决了这个问题。

【讨论】:

    猜你喜欢
    • 2020-09-11
    • 1970-01-01
    • 2013-01-08
    • 1970-01-01
    • 2013-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多