您当前的位置: 首页 > 

蓝不蓝编程

暂无认证

  • 0浏览

    0关注

    706博文

    0收益

  • 0浏览

    0点赞

    0打赏

    0留言

私信
关注
热门博文

安卓依赖包版本冲突:has different version for the compile (1.0.10) and runtime (1.0.11) classpath.

蓝不蓝编程 发布时间:2020-05-15 11:06:18 ,浏览量:0

问题描述

编译安卓项目时,报如下错误:

Android dependency 'com.xxx.lib:lib_xxx' has different version for the compile (1.0.10) and runtime (1.0.11) classpath. You should manually set the same version via DependencyResolution
分析

大的项目里通常有很多依赖包,而被依赖的包又依赖其他的包,就难免会出现包版本号不一致的问题. 查看项目依赖关系图方法: ./gradlew 模块名:dependencies > dep.log 如对于app模块,命令为:./gradlew app:dependencies > dep.log,大致效果图如下:

解决方案

在项目里统一最终的依赖包版本号,看报错是哪个包,就指定哪个包的最终版本号.(不过这样做,也有前提,那就是指定的这个版本号的包在各个用到的地方都是可以正常使用的.如果某个依赖包,在版本迭代过程中,删除了某些类或方法,而你的某个库用到了这些类或方法,那么当把版本号指定为新的版本时,该库就会出问题.那此时只能要求该库作出修改,改用新的版本.) 修改项目根目录下build.gradle文件,在allprojects下增加如下内容:

allprojects {
    configurations.all {
        resolutionStrategy.cacheChangingModulesFor 0, 'seconds'
        resolutionStrategy {
            force "com.xxx.lib:lib_xxx:1.0.11"
        }
    }
}
关注
打赏
1639405877
查看更多评论
立即登录/注册

微信扫码登录

0.9733s