Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat

这篇博客详细介绍了如何解决在Android项目中遇到的'Multiple dex files define Landroid/support/v4/accessibilityservice/AccessibilityServiceInfoCompat'错误。作者提供了两种解决方案:一是检查并排除dependencies中的重复依赖,二是通过脚本排查所有module中的冲突依赖项,特别是v4库或其他引起冲突的库。

stackoverFlow 有详细的多个解决方案

http://stackoverflow.com/questions/20989317/multiple-dex-files-define-landroid-support-v4-accessibilityservice-accessibility


first


1. 双击 查看 dependencies ,或执行如下脚本


Run gradle -q dependencies (or gradle -q :projectName:dependencies) to generate a dependency report. You should see where r7 is coming from, such as:

compile - Classpath for compiling the main sources.
+--- com.commonsware.cwac:camera-v9:0.5.4
|    +--- com.actionbarsherlock:actionbarsherlock:4.4.0
|    |    \--- com.google.android:support-v4:r7
|    +--- com.commonsware.cwac:camera:0.5.4
|    \--- com.android.support:support-v4:18.0.+ -> 18.0.0
\--- com.android.support:support-v4:18.0.+ -> 18.0.0

Then, use the exclude directive to block that dependency. In my case, it is coming from my CWAC-Camera library, and so I use:


module 的这样写 ~ 

dependencies {
    compile('com.commonsware.cwac:camera-v9:0.5.4') {
      exclude module: 'support-v4'
    }

    compile 'com.android.support:support-v4:18.0.+'
}

或是项目的 ,这样写~


configurations {
    dependencies {
        compile(project(':Android-SDK')) {
            compile.exclude module: 'support-v4'
        }
    }
}

以上方法失败的话可以是 排查的 module不对 , 排查一遍 所有module 的 Dependencies  ,- 掉 * v4  或 其他有冲突的 项  即可以 运行 assembleRelease ~






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值