打包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处理不了

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/291874.html

(0)
上一篇 2022年10月26日
下一篇 2022年10月26日

相关推荐

发表回复

登录后才能评论