美文网首页
Cause: com.android.dex.DexExcept

Cause: com.android.dex.DexExcept

作者: T_Y_H | 来源:发表于2017-04-10 22:58 被阅读3062次

学习笔记,还有很多地方都不明白,欢迎指正。

、本文旨在解决Cause: com.android.dex.DexException: Multiple dex files define xxx类问题解决

问题场景:Error:Execution failed for task ':app:transformClassesWithDexForDebug'.

> com.android.build.api.transform.TransformException: com.android.ide.common.process.ProcessException: java.util.concurrent.ExecutionException: com.android.dex.DexException: Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat$AccessibilityServiceInfoVersionImpl;

以上就是我遇到的项目中引用了多个不同版本的v4包导致的报错,解决步骤如下:

1、找出是什么原因导致了不同版本的v4包引入。

原因有很多,有可能是依赖的项目下面有和你当前项目不同版本的v4包,这个解决方法就是统一v4,或者删除多余的v4包,这类可以参见这儿

我所遇到的v4冲突是由于build.gradle中引入的依赖包中的v4版本不同!

在你的项目所在的module文件下运行gradle -q dependencies,执行该命令后有以下三种结果:

(1)提示gradle不是可执行命令,请先配置gradle环境变量

(2)报下图所示错误

解决办法是将project下面的gradle.properties文件中的org.gradle.jvmargs=-Xmx1536m改为

org.gradle.jvmargs=-Xmx1024m,保存,再次运行gradle -q dependencies

(3)这是我们想要的结果如下所示

从上图中我们可以看出我们项目中有1与2两次引入了v4包,我们两个不同版本的v4包分别来自

com.android.support:appcompat-v7:23.4.0和'com.jakewharton:butterknife:8.5.1'这两个依赖(com.android.support:support-compat:25.1.0中有v4包

2、解决方法

从'com.jakewharton:butterknife:8.5.1'中移除support-compat,通过如下方法:

将app里面build.gradle 中的compile'com.jakewharton:butterknife:8.5.1'改为

compile('com.jakewharton:butterknife:8.5.1'){

exclude module: 'support-v4'

}

再次gradle -q dependencies,你会发现

图中1处已com.jakewharton:butterknife:8.5.1下面已经没有com.android.support:support-compat:25.1.0这个包

再次运行,项目完美编译!

相关文章

  • Cause: com.android.dex.DexExcept

    学习笔记,还有很多地方都不明白,欢迎指正。 一、本文旨在解决Cause: com.android.dex.DexE...

  • I feel so bored Cause my heart was broken by a man Cause ...

  • Day15

    Don’t cry cause it is over, smile, cause it happened. 不要因...

  • Witch-Boyfriend

    Cause your body goesboom bara boom Cause your body goesbo...

  • 20190106VOA词汇积累

    1.cause宏伟目标 Are they advancing in the cause of self-gover...

  • AndroidStudio编译报错Cause: java.uti

    AndroidStudio编译报错Cause: java.util.zip.ZipException或者Cause...

  • cause

    cause:a reason for having particular feelings or behaving...

  • cause

    cause: a reason for having particular feelings or behavin...

  • cause

    Not being understood by their parents for long is one mai...

  • cause

    1. 这是什么词? 词:cause 英英释义:a reason for having particular fee...

网友评论

      本文标题:Cause: com.android.dex.DexExcept

      本文链接:https://www.haomeiwen.com/subject/baeeattx.html