Android(安卓)studio 统一版本依赖, 避免build不同依赖版本冲突
16lz
2021-01-25
在使用as打包过程中,很可能添加一个三方库,再次构建项目,报版本冲突,我们需要改动gradle文件,将依赖版本统一,这样会避免不少麻烦.
首先,在项目project下创建新文件: dependency.gradle,与setting.gradle是同级的,里面定义的是一些版本信息,如:
dependency.gradle:
ext.versions = [ compileSdkVersion : 25, minSdkVersion : 16, targetSdkVersion : 22, versionCode : 107, versionName : '1.0.7', supportLibVersion : "25.0.0"]
在app的build.gradle文件顶部,引入统一版本依赖:
apply from: '../dependencies.gradle'apply plugin: 'com.android.application'android { signingConfigs { release { ... } debug { ... } } compileSdkVersion versions.compileSdkVersion defaultConfig { ... minSdkVersion versions.minSdkVersion targetSdkVersion versions.targetSdkVersion versionCode versions.versionCode versionName versions.versionName ... } buildTypes { debug { ... } release { ... } } ...}dependencies { implementation fileTree(include: ['*.jar'], dir: 'libs') implementation 'com.android.support:appcompat-v7:' + versions.supportLibVersion implementation 'org.greenrobot:eventbus:3.0.0' ...}
ps:我使用的gradle版本4.4,android plugin version为3.1.2, 会自动选取buildToolsVersion,在app的build.gradle文件中,已经不需要添加了.
同样的,在依赖的三方库中的build.gradle文件,使用方法相同,都是先apply from: '../dependencies.gradle'
然后直接使用版本信息,
implementation 'com.android.support:appcompat-v7:' + versions.supportLibVersion
这里需要注意的是,将项目的app和所有依赖的三方库,能统一版本的,全部统一,这样就不会再有构建时依赖版本冲突,
而且便于统一设置管理版本信息.
更多相关文章
- 没有一行代码,「2020 新冠肺炎记忆」这个项目却登上了 GitHub 中
- 一款常用的 Squid 日志分析工具
- GitHub 标星 8K+!一款开源替代 ls 的工具你值得拥有!
- RHEL 6 下 DHCP+TFTP+FTP+PXE+Kickstart 实现无人值守安装
- Linux 环境下实战 Rsync 备份工具及配置 rsync+inotify 实时同步
- 不吹不黑!GitHub 上帮助人们学习编码的 12 个资源,错过血亏...
- 关于GitHub安装路径及Android(安卓)Studio中的配置
- [Android初级]关于Android使用Proguard混淆打包的那些事
- 深入了解Android中文件路径问题