我们在写代码时候总会借鉴一些第三方库,有的是别人写的比较优秀的,有的则是google官方提供的,但是我们在依赖之后编译运行时候总会出各种各样的问题,究竟是怎么回事呢?
前两天自己遇到了这么一个问题,编译时候报错如下:“Error:Execution failed for task ':app:preDebugBuild'.
> Android dependency 'com.android.support:appcompat-v7' has different version for the compile (27.0.2) and runtime (27.1.0) classpath. You should manually set the same version via DependencyResolution”,这个日志已经写的很清楚了,就是com.android.support:appcompat-v7这个依赖库有两个不同的编译版本,我们应该依赖的版本是同样的,但是自己看了下自己的gradle文件里面明明就只依赖了一个com.android.support:appcompat-v7:27.1.0这个版本啊,怎么就有多个版本了呢?那肯定是自己依赖的库里面又依赖了这个support:appcompat的库,其实如果一个个的找到底是哪个依赖库也用了这个support:appcompat库,那么会很麻烦,那么有没有一种方式就是直接指定所有的库都使用同一个版本,那么由于依赖库多而导致的版本不一致的问题不就迎刃而解了么?答案是肯定的:有。
是有方法设置依赖库的版本的,针对上面的support:appcompat库我们可以像下面一样子来指定自己所依赖的版本: