频道栏目
首页 > 资讯 > Android > 正文

在AndroidStudio中使用gradle构建出现的一些问题

17-06-12        来源:[db:作者]  
收藏   我要投稿

1.版本不一致导致运行出错

在做公司项目跟进的时候,发现项目集成了很多moudle,这就导致最后编译出来的工程关于support.的一系列资源的版本不一致,因为有些support.会根据高版本的升级,例如我现在使用的是recyclerView23.4.0的依赖,其中需要使用support-v4的一些工具,可是某个moudle把v4定在的22.2.0,这就导致我使用过程中会 ClassNotFound 的异常,moudle由于某些原因不能升级,故而只能把recyclerView降价,可是即使我把依赖的版本降低编译出来的依然是23.4.0,这可能就是因为别的moudle使用的高版本导致的。

1.

这时候一种是像网上是查依赖树,看哪个moudle包含了这个高版本之后用命令去除(直接用的就是系统生成的例子,具体使用的时候直接模仿好了)

  androidTestCompile('com.android.support.test.espresso:espresso-core:2.2.2', {
        exclude group: 'com.android.support', module: 'support-annotations'
    })

2.

另一种就是采用强制版本,我就是使用这个方法,把recyclerView强行降到22.20,在moudle的buidle中最外层加上

configurations.all{
    resolutionStrategy{
        force'com.android.support:recyclerview-v7:22.2.0'
    }
}

2.版本不一致导致不方便管理

这种情况的话直接用编程思想,把版本号定义为一个固定的参数,之后在其他的gradle中直接使用这个参数,最后需要更改的时候直接改一个参数就行了,牵一发而动全身,就是这个道理,编程本就该这样。
在根目录中最外层定义

ext{
    BUILD_TOOL_VERSION = '25.0.0'

}

之后直接在其他子目录的gradle中使用这个参数就行了

android {
    compileSdkVersion 22
    buildToolsVersion BUILD_TOOL_VERSION

 .
 .
 .
}
相关TAG标签
上一篇:Android 剔除手机联系人,添加手机联系人,更新手机联系人信
下一篇:Glide加载图片的简单实用
相关文章
图文推荐

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站