解决Android Studio加载第三方jar包,出现包重复加载的问题:

通过Maven中央库添加第三方jar包的时候,出现了重复加载jar包的问题,解决办法很简单去掉一个不让它去加载就OK了

一、错误

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
Error:Execution failed for task ':app:dexDebug' .
> com.android.ide.common.internal.LoggedErrorException: Failed to run command:
     F:\zsl\sdk\build-tools\ 21.1 . 2 \dx.bat --dex --output F:\zsl\Android\pro\RecipesDaquan\app\build\intermediates\dex\debug --input-list=F:\zsl\Android\pro\RecipesDaquan\app\build\intermediates\tmp\dex\debug\inputList.txt
Error Code:
     2
Output:
     UNEXPECTED TOP-LEVEL EXCEPTION:
     com.android.dex.DexException:<strong> <span style= "color:#3333ff;" >Multiple dex files define Landroid/</span><span style= "color:#ff0000;" >support/v4</span><span style= "color:#3333ff;" >/accessibilityservice/AccessibilityServiceInfoCompatIcs;</span></strong>
         at com.android.dx.merge.DexMerger.readSortableTypes(DexMerger.java: 596 )
         at com.android.dx.merge.DexMerger.getSortedTypes(DexMerger.java: 554 )
         at com.android.dx.merge.DexMerger.mergeClassDefs(DexMerger.java: 535 )
         at com.android.dx.merge.DexMerger.mergeDexes(DexMerger.java: 171 )
         at com.android.dx.merge.DexMerger.merge(DexMerger.java: 189 )
         at com.android.dx.command.dexer.Main.mergeLibraryDexBuffers(Main.java: 454 )
         at com.android.dx.command.dexer.Main.runMonoDex(Main.java: 303 )
         at com.android.dx.command.dexer.Main.run(Main.java: 246 )
         at com.android.dx.command.dexer.Main.main(Main.java: 215 )
         at com.android.dx.command.Main.main(Main.java: 106 )

从上述错误中我们可以看到support_v4的包重复加载编译了,我们看一下gradle-app文件

\

加载中...

<喎�"http://www.2cto.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHByZSBjbGFzcz0="brush:java;">dependencies { compile fileTree(dir: 'libs', include: ['*.jar']) compile 'com.android.support:appcompat-v7:21.0.0' compile 'in.srain.cube:cube-sdk:1.0.42.1' compile files('libs/android-async-http-1.4.6.jar') }其中引入了v7的包后会自动去加载编译一个v4:21.0.0包,而在in.srain.cube:cube-sdk:1.0.42.1库中也有一个v4的包,所以我们需要去掉一个


看一下,libraries是否是我们所讲的那样,重复加载v4包

加载中...\

二、解决办法

?
1
2
3
4
5
6
7
8
dependencies {
     compile fileTree(dir: 'libs' , include: [ '*.jar' ])
     compile 'com.android.support:appcompat-v7:21.0.0'
     <span style= "color:#ff0000;" >compile ( 'in.srain.cube:cube-sdk:1.0.42.1' ){
         exclude module: 'support-v4'
     }</span>
     compile files( 'libs/android-async-http-1.4.6.jar' )
}

去掉in.srain.cube:cube-sdk:1.0.42.1中的包不加载即可。


转载来自  http://www.2cto.com/kf/201502/377383.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值