第三方库引用冲突的问题

之前在做即时通讯的时候用的即时通讯云环信,在引用环信easeUI的使用出现的包引用冲突的问题。

原因

1、easeui引用的libs和主项目中引用相同的jar包

 因为如果删除摸个jar包的话代码的改动比较大,所以在类库的buile.gradle中使用

provided fileTree(include: ['*.jar'], dir: 'libs')

使用provided只允许在本类库中使用此jar包。

2、gliede版本的问题,easeui和主项目中都用到了glide但是版本不一样,类库中用的是glide3,主项目中用的glide4,运行时出现了方法找不到的问题。这是要求类库的第三番引用要和主项目中的一样,同时easeui的glide方法也要相应的改动,glide4和glide3在用法不太一样。

3、为了防止防止类库的版本问题在build.gradle中设置

configurations.all {
    resolutionStrategy.eachDependency { DependencyResolveDetails details ->
        def requested = details.requested
        if (requested.group == 'com.android.support') {
            if (!requested.name.startsWith("multidex")) {
                details.useVersion '26.1.0'
            }
        }
    }
}
发布了13 篇原创文章 · 获赞 6 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/old_land/article/details/89227449