在AndroidStudio中使用gradle构建出现的一些问题
来源:互联网 发布:ubuntu ibus 系统设置 编辑:程序博客网 时间:2024/05/21 03:27
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 . . .}
其实对本地的project也是可以进行exclude,只是需要在project 外面再包一层compile(project(':react-native-custom-module')) { exclude group: 'com.facebook.react', module: 'react-native'}
其他的日后补充
阅读全文
0 0
- 在AndroidStudio中使用gradle构建出现的一些问题
- AndroidStudio中使用老版本Gradle出现的问题
- AndroidStudio 使用gradle依赖过程出现的问题
- Android使用Gradle构建的一些遇到的问题
- 加速AndroidStudio中Gradle构建
- 在Eclipse中使用gradle构建问题小结
- 使用AndroidStudio出现的一些问题及解决办法
- 在使用android studio过程中,使用gradle编译的时候总会出现一些问题,下面是几个常见问题的解决方法。
- Gradle中打jar包的方法,Gradle 自动化构建工具,Android Studio 中 Gradle 的使用方法,AndroidStudio使用过程中遇到的bug
- AndroidStudio创建library出现的一些问题
- 在eclipse中使用gradle构建代码
- 使用gradle打包android工程中出现的问题
- AndroidStudio构建工具Gradle的帮助文档
- 使用AndroidStudio出现的问题(1)
- 解决在androidStudio中使用AndEngine时报错的问题
- 关于Gradle的构建项目容易出现的问题整理
- AndroidStudio下使用SlidingMenu出现的一些问题及其解决方法(一)
- AndroidStudio下使用SlidingMenu出现的一些问题及其解决方法(二)
- 观察者模式
- Android开发中的一些小知识点记录(41-60)
- CTF-PWN之fsp-utilize漏洞利用
- Android—高级控件(二)ListView 优化版
- TensorFlow in Go
- 在AndroidStudio中使用gradle构建出现的一些问题
- git学习笔记
- 浅析Java中的Parcelable和Serializable
- 破解**jetbrains**的**Webstorm、Pycharm、Phpstorm、RubyMine**
- Python自然语言分析(第四期):第3课书面作业
- 关于require.js的用法(很重要)
- div css文字字体行高行距 深入理解css行间距设置
- 火狐,safari,chrome的select以及option适配
- C++基础