我无法生成已签名的apk。

5
我想更新我的应用,但当我尝试生成一个已签名的 apk 文件时,我收到了以下错误信息:
警告:无法在类型 'GuardedBy' 中找到注解方法'value()':找不到 javax.annotation.concurrent.GuardedBy 的类文件。
错误:将字节码转换为 dex 时出错:原因是 com.android.dex.DexException:多个 dex 文件定义了 Lbolts/AppLink$Target;
错误:任务':app:transformClassesWithDexForDebug'执行失败。com.android.build.api.transform.TransformException:com.android.ide.common.process.ProcessException:java.util.concurrent.ExecutionException:com.android.ide.common.process.ProcessException:org.gradle.process.internal.ExecException:进程'command'/Library/Java/JavaVirtualMachines/jdk1.7.0_79.jdk/Contents/Home/bin/java'以非零退出值完成。
请帮忙!

@Giru Bhai 是的,我正在使用Facebook SDK。 - LKH
那么这里是答案https://dev59.com/kF4c5IYBdhLWcg3wqLpe#27695724 或者在这里查看https://dev59.com/zl4b5IYBdhLWcg3wsDh3#35550829 - Giru Bhai
@Giru Bhai,但是我在我的旧版本中也使用了Facebook SDK,目前它很好地工作。 - LKH
@gvsharma 我找不到任何东西。 - LKH
原来我在库中确实有重复的库 :D - LKH
显示剩余2条评论
1个回答

3
尝试这样设置 multiDexEnabled true
android {
    compileSdkVersion 23
    buildToolsVersion "23.0.2"

    defaultConfig {
        minSdkVersion 15
        targetSdkVersion 23
        versionCode 1
        versionName "1.0"

        multiDexEnabled true
    }
}

编辑: 如果你不知道哪一部分需要排除,只需将以下代码添加到您的build.gradle中defaultConfig下方即可:

packagingOptions {
    exclude 'META-INF/DEPENDENCIES'
    exclude 'META-INF/NOTICE'
    exclude 'META-INF/LICENSE'
    exclude 'META-INF/license.txt'
    exclude 'META-INF/notice.txt'
}

为什么需要启用multiDex? - LKH
如果我启用它,我需要使用multiDex库并进行一些配置,对吗? - LKH
多Dex的库?抱歉,我以前没有听说过这个。我认为没有关于multiDex的库。 - Janki Gadhiya
我会测试它并告诉你。 - LKH
是的,它可以工作,但我还需要排除重复的库,就像@Giru Bhai评论的那样。 - LKH
显示剩余2条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接