一、依赖库匹配
依赖库匹配 : 依赖库由三部分组成
- 依赖库分组
- 依赖库名称
- 依赖库版本号
只有三者都对上 , 依赖库才能匹配上 , 如
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 , octop 为 Windows 系统用户名 ;
然后 , 如果在 本地 Gradle 依赖库缓存中没有找到该依赖库 , 则到 远程仓库中下载 , 远程仓库在根目录下的 build.gradle 中配置 , 一般配置 google()
, mavenCentral()
, jcenter()
;
<span style="color:#000000"><span style="background-color:#2d2d2d"><code class="language-java">allprojects <span style="color:#999999">{</span></code></span></span>
allprojects {repositories {google()mavenCentral()jcenter() // Warning: this repository is going to shut down soon}
}
三、Gradle 资源库
Gradle 构建过程中 , 存储依赖库的地方称为 Gradle 资源库 , 有两种形式 :
本地库 : 一般是 " C:\Users\用户名.gradle\caches\modules-2\files-2.1 " 目录 ;
远程库 : 一般是 google() , mavenCentral() , jcenter() 对应的 Maven 仓库 , 也可以自己设置自建的 Maven 私服地址 ;
Gradle 构建时 , 定位依赖库的过程 , 叫做 依赖解析 ;
首先 , 查找本地库 ;
然后 , 查找远程库 ;
依赖解析完毕后 , 如果是在远程库中下载的依赖库 , 则将其 缓存到本地库中 , 之后再次构建时 , 就不需要从远程库中下载该依赖库了 ;
定位依赖库时 , 根据 依赖库分组 , 依赖库名称 , 依赖库版本号 , 在 Gradle 资源库中定位依赖库 ;