Multiple dex files define Landroid/support/v4/accessibilityservice解决方法

来源:互联网 发布:淘宝商家怎么找到淘客 编辑:程序博客网 时间:2024/05/29 10:27

1.问题背景

一般看到这问题,这个报错,一般人都不知道为何?
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;
一般如何解决呢,最懒得的方式,就是找一个android 6.0的手机,此版本的手机不受dex files重复影响;
问题的原因是,Multiple dex files define Landroid/support/v4/accessibilityservice
v4重复导致;

2.解决方法

首先,就是看一下,哪里引入了v4,简单粗暴的方法,删除一一个v4;
但是有时,不能这样,比如v7里有v4,删除v7,项目就爆错了;
正规流程,先找一下,哪里有重复的引用;

2.1 方法一、用gradle view看

从,file–setting–plugin,安装具体见图
这里写图片描述
这里写图片描述
查看时,从view–window tool—gradle view

2.2 方法二、gradle命令看依赖

在android studio的terminal中输入:(window环境)
gradlew :app:dependencies –configuration compile
看下面图样
这里写图片描述

大家看到,v7中有v4,我的module里,也引入了v4,老的v4;
这里解决也有2种方式;
第一种;删掉引的module里的老v4,jar包,在buil gradle里加入和v7同版本的依赖;
比如:工程里的为
compile ‘com.android.support:appcompat-v7:23.4.0’
你的module里也引入
compile ‘com.android.support:appcompat-v4:23.4.0’
第二种:直接在v7里加例外(推荐这个)
compile (‘com.android.support:appcompat-v7:23.4.0’) {
exclude module: ‘support-v4’
}
见图:
这里写图片描述

3.完毕

遇到问题,不要拍,总会解决,不是太难,是你太不自信而已;

4.其他方法

http://blog.csdn.net/u012214750/article/details/52692450

阅读全文
0 0
原创粉丝点击