在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.supportappcompat-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

更多相关文章

  1. 《敏捷开发》发版记录
  2. update升级包版本信息的读取
  3. 【Android笔记】执行命令行语句
  4. Android框架ButterKnife的使用详解,butterknife8.x.x版本的使用方
  5. [置顶] Android(安卓)Studio部分汉化中文包
  6. mmsPlayer, for android ,wince,windows,wm等
  7. 上官网学android之四(Supporting Different Devices)
  8. android中SQLite的操作
  9. Android:嵌入式关系型SQLite数据库、SQLiteOpenHelper、SQLiteDat

随机推荐

  1. Android去掉标题栏和状态栏的方法
  2. Android(安卓)startService 和 bindServi
  3. Android入门教程(二十八)------之Service
  4. Android(安卓)UI开发第二十七篇——实现
  5. Android开发中的五大布局
  6. android studio导入第三方工具
  7. LeakCanary-帮助你检测Android所有的内存
  8. Android(安卓)使用 Material icons
  9. android 中关于SimpleAdapter构造参数的
  10. Nexus 5 Android(安卓)6.0.1刷机、Root