Android三方库依赖中的maven坐标详解
16lz
2021-01-26
在Android工程app目录的build.gradle文件中常常见到如下的语句:
implementation 'com.android.support:appcompat-v7:28.0.0'
这种写法表明,这个三方库是个远程依赖,第一次编译时会从JCenter服务器上下载三方库到本地,之后就都是用的本地缓存
后边的com.android.support:appcompat-v7:28.0.0就是maven坐标,它用来唯一标识一个三方库,它分为三部分:
com.android.support appcompat-v728.0.1
第一部分是 组id,一般是com.公司名或品牌名.项目名,注意这里的名字可以和三方库内的包名不一致
第二部分是 工件id(artifact由Android官网翻译为工件,此处沿用),一般是模块名
第三部分是 版本,一般由a.b.c形式构成
这三个部分会唯一标识一个三方库的maven包,一个maven包里包含一些配置文件和jar包或者aar包
这样就自然带来了解决多层依赖冲突的方法:
implementation 'com.android.support:support-v4:23.1.0'implementation ('com.squareup.okhttp3:okhttp:3.9.0'){ exclude group: 'com.android.support',module: 'support-v4'}
exclude语句排除了okhttp3中的所有版本的support-v4包,这样就不会与上一句中的support-v4:23.1.0这个冲突。其中module参数传递的值就是上边说到的工件id
更多相关文章
- 《敏捷开发》发版记录
- update升级包版本信息的读取
- 【Android笔记】执行命令行语句
- Android框架ButterKnife的使用详解,butterknife8.x.x版本的使用方
- [置顶] Android(安卓)Studio部分汉化中文包
- mmsPlayer, for android ,wince,windows,wm等
- 上官网学android之四(Supporting Different Devices)
- android中SQLite的操作
- Android:嵌入式关系型SQLite数据库、SQLiteOpenHelper、SQLiteDat