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’

Android Studio重复引用文件解决方法_第1张图片

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

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文件,删除重复引用的类。

 

 

 

你可能感兴趣的:(安卓开发)