modue
开发过程中往往会引入很多第三方的依赖
开发过程中往往会引入很多第三方的依赖,这些第三方组件库的质量和内部依赖是良莠不齐的,很多时候为了实现功能的快速开发和迭代,在项目中有可能会使用超过十几个或者几十个依赖库,这些依赖库中难免会存在合并冲突,简单的合并冲突可以通过配置manifest对应的冲突地方添加 "replace" 标签来解决,但是有一类问题是比较棘手的,那就是support包依赖冲突问题。 support包冲突问题一般有两个类,一类是大的support包会包含小的support,这种可以通过删除小的support包来解决;还有一类是support包版本不一致,这种可以通过在App Modue内的build.gradle最底部添加configurations来解决。 常见依赖包不一致解决办法,在app module的build.gradle最底部添加如下configurations 但是我最近遇到的是一个更为复杂的问题,就是依赖的多个第三方库项目中都已经有了support依赖,而且该依赖的版本还不一致,这个问题我最初以为是项目中的依赖和第三方库中的依赖冲突,便开始尝试删除项目中的依赖,因为最终都会通过gradle编译进App中,所以不管你被依赖的support在什么位置,最终都是能被引用到的,但是删除项目中的依赖以后,发现问题仍未解决,通过查看gradle console中的日志信息发现,我删除的虽然也会和新引入的冲突,但是根本的冲突在于我新引入的第三方库与原有的第三方库引用了一模一样的support包,只是版本不一致