Android Studio重复引用文件解决方法

1、多个模块含有相同的java模块。

对于引用的重复库的文件,去掉重复引用的模块。

1)去掉重复模块

aar中引用重复:

    // sophix热修复
    compile 'com.aliyun.ams:alicloud-android-hotfix:3.2.6'
    compile('com.aliyun.ams:alicloud-android-hotfix:3.2.6') {
        exclude(module: 'alicloud-android-utdid')
    }

排除掉重复引用的模块 ‘alicloud-android-utdid’

整个模块中的类都排除掉了。

2)去掉重复的分组(aar)

    compile ('com.android.support:design:22.2.1')
    {
        exclude group: 'com.android.support'
    }

去掉重复的group名称为com.android.support 的重复引用。

3)两者可以结合使用,只去掉分组中某一模块的重复引用。

 

4)jar文件类重复引用。

删除重复引用的jar文件

 

2、so文件重复引用。

多个子模块中(或者)aar依赖库中引用了相同的so文件,导致文件重复。

解决方法:

在app/build.gradle中,对于重复引用的so文件,只需要选取第一个就行。

android{

        pickFirst 'lib/armeabi/xxx.so'

}

 

3、同一个依赖多个版本冲突

同一个依赖不同模块引用不同版本,导致冲突

resolutionStrategy.eachDependency { details ->
            if (details.requested.group == 'com.android.support'
                    && !details.requested.name.contains('multidex')) {
                details.useVersion "$supportlib_version"
            }
        }

对于同一依赖采用同一版本

4、同一个Jar库冲突引用多次

如果子模块已经包含jar库,app工程删除重复库即可。

删除APP/libs下重复引用的jar文件

5、Jar库中的某些类被重复引用。

支付宝jar中出现过。

方法一:重新解压jar文件,删除重复引用的类。

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值