TransformException用于重复的类条目

时间:2016-11-01 17:03:50

标签: java android gradle chromecast

我在使用Remote Display API的Chromecast项目中获得了“Error converting bytecode to dex”。我通过添加“multiDexEnabled true”解决了这个问题,但这只会产生另一个错误:

  

错误:任务执行失败   ':应用程序:transformClassesWithJarMergingForDebug' &GT。   com.android.build.api.transform.TransformException:   java.util.zip.ZipException:重复条目:   COM /谷歌/机器人/克/内部/ zzlg.class

我已检查过Gradle个文件,但发现没有任何冲突。我读了其他类似的线程,并尝试了他们的代码修复,但没有在这里使用。我该如何处理?这些是我的gradle文件:

Gradle files

2 个答案:

答案 0 :(得分:2)

首先,尝试清理/重建项目,因为在清理/重建项目后通常会出现这种错误。

documentation开始,当您在gradle.files中添加multiDexEnabled true时,请确保在依赖项中添加编译'com.android.support:multidex:x.x.x'

有关更多信息,请查看以下相关的SO问题:

答案 1 :(得分:0)

您可能多次编译相同的依赖项。例如,play-services-cast取决于appcompat-v7。您可以使用以下命令阻止重新编译相同的依赖项:

compile ('com.google.android.gms:play-services-cast:8.3.+')
{
    exclude group: 'com.android.support', module: 'appcompat-v7'
}

使用shell命令gradlew -q YourApp:dependencies打印应用程序的依赖关系图;然后在build.gradle中,排除多次显示的依赖项。