文章目录

  • ​​一、依赖库匹配​​
  • ​​二、依赖库查找顺序及路径​​
  • ​​三、Gradle 资源库​​






一、依赖库匹配



依赖库匹配 : 依赖库由三部分组成

  • 依赖库分组
  • 依赖库名称
  • 依赖库版本号

只有三者都对上 , 依赖库才能匹配上 , 如

dependencies {
implementation androidx.appcompat:appcompat:1.3.1'
}

依赖库分组为 androidx.appcompat , 依赖库名称为 appcompat , 依赖库版本号为 1.3.1 , 三者由冒号隔开 ;






二、依赖库查找顺序及路径



Android 依赖库查找路径 :

首先 , 查找 本地的 Gradle 缓存依赖库 , 如果找到则直接使用该依赖库 , 进行 Gradle 构建 ; 本地依赖库的缓存路径为 " C:\Users\用户名.gradle\caches\modules-2\files-2.1 " , 如下图所示 , Gradle 构建过程中 , 如果发现本地没有缓存依赖库 , 则自动将依赖库缓存到该目录中 ; 下图中的 Gradle 依赖缓存目录为 C:\Users\octop.gradle\caches\modules-2\files-2.1

【Android Gradle 插件】Android 依赖管理 ① ( 依赖库匹配 | 依赖库查找顺序及路径 | Gradle 资源库 )_android


然后 , 如果在 本地 Gradle 依赖库缓存中没有找到该依赖库 , 则到 远程仓库中下载 , 远程仓库在根目录下的 build.gradle 中配置 , 一般配置 ​​google()​​​ , ​​mavenCentral()​​​ , ​​jcenter()​​ ;

allprojects {
repositories {
google()
mavenCentral()
jcenter() // Warning: this repository is going to shut down soon
}
}



Gradle 构建过程中依赖管理如下 :

【Android Gradle 插件】Android 依赖管理 ① ( 依赖库匹配 | 依赖库查找顺序及路径 | Gradle 资源库 )_依赖管理_02






三、Gradle 资源库



Gradle 构建过程中 , 存储依赖库的地方称为 Gradle 资源库

  • 本地库 : 一般是 " C:\Users\用户名.gradle\caches\modules-2\files-2.1 "
  • 远程库 : 一般是 ​​google()​​​ , ​​mavenCentral()​​​ , ​​jcenter()​​ 对应的 Maven 仓库 , 也可以自己设置自建的 Maven 私服地址 ;

Gradle 构建时 , 定位依赖库的过程 , 叫做 依赖解析 ;

  • 首先 , 查找本地库 ;
  • 然后 , 查找远程库 ;

依赖解析完毕后 , 如果是在远程库中下载的依赖库 , 则将其 缓存到本地库中 , 之后再次构建时 , 就不需要从远程库中下载该依赖库了 ;

定位依赖库时 , 根据 依赖库分组 , 依赖库名称 , 依赖库版本号 , 在 Gradle 资源库中定位依赖库 ;