【Android Gradle 插件】Android 依赖管理 ① ( 依赖库匹配 | 依赖库查找顺序及路径 | 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 , 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 资源库中定位依赖库 ;

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/626568.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

云厂商不能花钱当老六

1. 愤怒的国产“三大废物” 12月份的时候&#xff0c;某中立市场分析公司发表了它们的行业分析“刀乐象现”。透过各种浮躁的“领导、远见”之后&#xff0c;大致意思就是&#xff1a; A是老大&#xff1b;我没意见&#xff1b;A是老二&#xff1b;我也没意见。咕咕咕咯咯咯哒是…

深入理解 PyTorch 激活函数:从基础到高效实用技巧(3)

目录 torch.nn.functional激活层详解 logsigmoid 1. 函数用途 2. 参数详解 3. LogSigmoid函数的定义及数学解释 4. 使用示例 hardshrink 1. 函数用途 2. 参数详解 3. Hardshrink函数的定义及数学解释 4. 使用示例 tanhshrink 1. 函数用途 2. 参数详解 3. Tanhsh…

Spring Boot 中实现定时任务(quartz)功能实战

&#x1f3c6;作者简介&#xff0c;普修罗双战士&#xff0c;一直追求不断学习和成长&#xff0c;在技术的道路上持续探索和实践。 &#x1f3c6;多年互联网行业从业经验&#xff0c;历任核心研发工程师&#xff0c;项目技术负责人。 &#x1f389;欢迎 &#x1f44d;点赞✍评论…

电脑锁屏时间怎么设置?跟着这篇教程轻松搞定

在现代社会&#xff0c;我们使用电脑的时间越来越长&#xff0c;为了保护个人隐私和确保信息安全&#xff0c;设置电脑锁屏时间成为一项重要的操作。可是电脑锁屏时间怎么设置呢&#xff1f;本文将介绍三种常见的方法&#xff0c;详细解释如何设置电脑的锁屏时间&#xff0c;以…

Framework定制-在JAVA核心库中移植Android Log

在java核心库中&#xff0c;由于无法导入android的包&#xff0c;要想使用Log&#xff0c;最粗暴的方式就是用反射调用&#xff0c;还有一种方式就是移植Android的Log到java核心库中。 具体实现如下&#xff1a; 创建JLog.java aosp/libcore/ojluni/src/main/java/java/lang…

openssl3.2 - EVP_MD_fetch算法名称字符串(参数2)的有效值列表

文章目录 openssl3.2 - EVP_MD_fetch算法名称字符串(参数2)的有效值列表概述笔记注释版的摘要算法名称列表END openssl3.2 - EVP_MD_fetch算法名称字符串(参数2)的有效值列表 概述 使用摘要算法时, 官方demo都是使用EVP_MD_fetch(), API参数2要指定算法名称字符串. 如下: in…

MySQL 常用字符串函数 SUBSTRING_INDEX、SUBSTRING、LOCATE 和 LENGTH

在 MySQL 中&#xff0c;SUBSTRING_INDEX、SUBSTRING、LOCATE 和 LENGTH 是字符串处理的一些常用函数。下面是它们的基本用法&#xff1a; SUBSTRING_INDEX SUBSTRING_INDEX(str, delim, count) 用于返回字符串 str 中由分隔符 delim 分隔的子字符串。count 参数指定要返回的…

TDengine 如何进行数据建模

小 T 导读&#xff1a;在使用 TDengine 的时候&#xff0c;通过官网的技术文档可以学习到建库&#xff08;database&#xff09;、建表&#xff08;table&#xff09;的各种 SQL 语句&#xff0c;但是一旦要跟自己的具体业务场景结合&#xff0c;经验不足的朋友可能会不知道到底…

指针及其应用

1.定义 指针&#xff1a;也是一个变量&#xff0c;存放所指变量的地址&#xff0c;根据变量定义的不同&#xff0c;指针指向的类型也不同 注意&#xff1a;*是与前面类型一体的 int main(void) {int* p; //等价于int *p;//为了区分变量&#xff0c;C语言中一般将*放置于变量…

国产开源数据库进入生态发展期

作为基础软件“三驾马车”之一&#xff0c;数据库是支撑信息系统安全稳定运行的重要保障。记者从日前在京举行的openGauss Summit 2023获悉&#xff0c;2023年国产数据库openGauss系新增市场份额达21.9%&#xff0c;标志着openGauss已跨越生态拐点&#xff0c;这对于保障数据安…

.NET 8.0 发布到 IIS

如何在IIS&#xff08;Internet信息服务&#xff09;上发布ASP.NET Core 8&#xff1f; 在本文中&#xff0c;我假设您的 Windows Server IIS 上已经有一个应用程序池。 按照步骤了解在 IIS 环境下发布 ASP.NET Core 8 应用程序的技巧。 您需要设置代码以支持 IIS 并将项目配…

智算让大模型触手可及

本文整理自2023年 12 月 20 日举办的「2023 百度云智大会智算大会」主论坛&#xff0c;百度智能云 AI 与大数据平台总经理忻舟的主题演讲《智算让大模型触手可及》。 在之前极客公园举办的创新大会上&#xff0c;百度集团董事长兼 CEO 李彦宏先生提到&#xff1a;卷 AI 原生应用…

【Linux】各目录说明

【常见目录说明】 目录 /bin 存放二进制可执行文件(ls,cat,mkdir等)&#xff0c;常用命令一般都在这里。 /etc 存放系统管理和配置文件 /home 存放所有用户文件的根目录&#xff0c;是用户主目录的基点&#xff0c;比如用户user的主目录就是/home/user&#xff0c;可以…

智能助手的巅峰对决:ChatGPT对阵文心一言

在人工智能的世界里&#xff0c;ChatGPT与文心一言都是备受瞩目的明星产品。它们凭借先进的技术和强大的性能&#xff0c;吸引了大量用户的关注。但究竟哪一个在智能回复、语言准确性、知识库丰富度等方面更胜一筹呢&#xff1f;下面就让我们一探究竟。 首先来谈谈智能回复能力…

数据结构-排序

这篇文章主要记录各种排序算法的思想及实现代码&#xff0c;最后对各种算法的性能进行了对比。 目录 排序的概念及其运用 排序的概念 排序运用 常见的排序算法 常见排序算法的实现 插入排序 基本思想 直接插入排序 希尔排序 选择排序 基本思想 直接选择排序 堆排序…

C++设计模式-- 2.代理模式 和 外观模式

文章目录 代理模式外观模式角色和职责代码演示一&#xff1a;代码演示二&#xff1a;外观模式适用场景 代理模式 代理模式的定义&#xff1a;为其他对象提供一种代理以控制对这个对象的访问。在某些情况下&#xff0c;一个对象不适合 或不能直接引用另一个对象&#xff0c;而代…

git推送前HOOK pre-push判断版本号增加再推送

我写了一个C程序&#xff0c;然后每次编译后&#xff0c;记不得当时的版本是哪个源代码&#xff0c;对于core dump复现调试很麻烦。 为此我想了一个办法&#xff0c;首先在include/git_version.hpp 创建一个版本的文件 /** Description:* Author: jiangsheng* Date: 2024-01-…

数据结构与算法:快速排序

数据结构与算法&#xff1a;快速排序 快速排序荷兰国旗问题霍尔版本递归优化小区间优化 PartSort优化三数取中 挖坑法前后指针法 非递归法 快速排序 荷兰国旗问题 想要理解快速排序&#xff0c;就先理解这个问题&#xff1a; [LeetCode75.颜色分类] 荷兰国旗是由红白蓝三色组…

10.云原生之在线开发调试

云原生专栏大纲 文章目录 vscode-server介绍VSCode Server 和云开发结合vscode-server安装code-server安装插件在线安装插件离线安装插件安装中文插件 配置开发环境在容器中安装开放环境Dockerfile制作镜像 git拉取项目 vscode-server介绍 VSCode Server&#xff08;Visual S…

动态内存面试的经典题目

&#x1d649;&#x1d65e;&#x1d658;&#x1d65a;!!&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦&#x1f44f;&#x1f3fb;‧✧̣̥̇‧✦ &#x1f44f;&#x1f3fb;‧✧̣̥̇:Solitary-walk ⸝⋆ ━━━┓ - 个性标签 - &#xff1a;来于“云”的“羽球人”。…