Android开发

打包Multiple dex files define Landroid/support/v4问题解决

本文主要是介绍打包Multiple dex files define Landroid/support/v4问题解决,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!

android studio 打包的时候报错:

Error:Execution failed for task :app:transformClassesWithDexForRelease.

> 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;

开始以为是不同包引入重复冲突了,各种exclude,如下,然并卵,还是一样报错

compile (com.android.support:recyclerview-v7:+){ exclude module: support-v4 }

设置GRADLE_HOME环境变量和path,具体地址可查看android studio -- file --setting 搜gradle

命令行执行gradle -v正常的话

到项目路径执行gradle -q app:dependencies 或到app module下执行gradle -q dependencies查看依赖树

还是然并卵,甚至没有看到v4的包路径

最后发现其实是引用工程libs目录下有一个android-support-v4.jar包,通过

compile fileTree(include: *.jar, dir: libs)来引入v4包的,把这个jar包删除,
改为gradle引入 compile com.android.support:support-v4:24.1.1
问题解决,可能是gradle引入的gradle才能自动解决重复的包,而通过jar包引入的gradle处理不了
这篇关于打包Multiple dex files define Landroid/support/v4问题解决的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!