项目中有N个Module使用相同aar导致冲突解决

项目中有N个Module使用相同aar导致冲突解决

  • 第1种解决办法
  • 第2种 解决办法

最近在做项目,要把另一个项目打包成Module集成到主工程,合并发生了冲突,原因是原来分开的两个项目都使用了BaseAdapter的aar文件,合到一起就冲突了。删掉其中任何一个要报错,怎么办?当然是上google上面搜。

在网上搜到了解决办法,

第1种解决办法

//在主工程build里加上下面代码
android {
repositories {
        flatDir {
            dirs 'libs',project(':包含aarModule名称').file('libs')
        }
    }
   }

有些人看代码是不是大概明白了意思,主工程的libs和module之间联系在一起,这样主工程就可以访问到module里面的aar了。

需要注意的点
1.如果有很多个module都要用到aar,只需要在project的build.gradle文件中添加

allprojects {
    repositories 
        flatDir {
           dirs 'libs',project(':包含aar的Module名称').file('libs')
        }
    }
}

2.如果是主工程只有一个module只需要在app的build.gradle中加 上述代码
3.aar在module中必须用api引入
4.如果aar中有通过implementation引入三方库,则主工程也需要引入一次。

api(name: 'aar名称', ext: 'aar')

第2种 解决办法

第二种就是把库放到远程 jcenter()库,等我实践了再说
待续。。。。

你可能感兴趣的:(android)