专栏名称: 郭霖
Android技术分享平台,每天都有优质技术文章推送。你还可以向公众号投稿,将自己总结的技术心得分享给大家。
目录
相关文章推荐
龙岩图书馆  ·  声音志愿者招募 | ... ·  昨天  
中国基金报  ·  俄罗斯遭袭 ·  3 天前  
蓝钻故事  ·  年度王炸!看了两分钟,我就爽到了 ·  4 天前  
51好读  ›  专栏  ›  郭霖

使用 Gradle 版本目录进行依赖管理

郭霖  · 公众号  ·  · 2024-03-05 21:22

正文



/   今日科技快讯   /

近日,根据工信部网站数据显示,2023年,我国锂离子电池产业延续增长态势,全国锂电池总产量超过940GWh,同比增长25%,行业总产值超过1.4万亿元。其中,电池环节,1-12月消费型、动力型、储能型锂电池产量分别为80GWh、675GWh、185GWh,锂电池装机量(含新能源汽车、新型储能)超过435GWh。出口贸易持续增长,1-12月全国锂电池出口总额达到4574亿元,同比增长超过33%。

/   作者简介   /

本篇文章来自 Germen Wong 的投稿,文章主要分享了 如何使用Gradle版本目录进行依赖管理 ,相信会对大家有所帮助!同时也感谢作者贡献的精彩文章。

原文地址:
https://mp.weixin.qq.com/s/C4krqPlptwOypyuslBlcug

/   前言   /

在软件开发中,依赖管理是一个至关重要的方面。合理的依赖版本控制有助于确保项目的稳定性、安全性和可维护性。

Gradle 版本目录(Version Catalogs)是 Gradle 构建工具的一个强大功能,它为项目提供了一种集中管理依赖版本的方式,使得团队协作更为高效。

/   什么是版本目录   /

Gradle 版本目录是 Gradle 6.8 版本引入的一项新功能,它允许开发者将项目中使用的所有第三方依赖的版本信息集中管理在一个地方。

通过定义一个版本目录,你可以在一个文件中指定所有依赖的版本号,而不必在每个模块或构建文件中重复声明。

/   示例   /

新建一个空项目

首先创建一个空白的 Android 项目,默认情况下我们的 Gradle 文件如下:


可以看到所有的依赖都是以字符串形式呈现,到后期项目越来越庞大时,对于开发者而言维护工作会大大增加。当然 Gradle 版本目录我相信在后期的 Android Studio 中以默认的形式存在。

不难看出,Android中的依赖项基本都是由相同部分组成,什么意思呢?即冒号(:)之前的就是所谓的依赖组,你可以理解为一个依赖组捆绑了多个相关的依赖项,冒号之后的就是它的组成部分。例如:

  • 依赖组:androidx.compose.ui
  • 间隔:冒号(:)
  • 具体依赖:ui-graphics

创建版本目录

在 gradle 文件中添加一个名为 libs.versions.toml 文件,添加完成后,点击 Sync 同步一下。


文件包含三个部分:版本块、依赖库块、插件块。

[versions]

[libraries]

[plugins]

开始迁移依赖

回到 build.gradle 文件中,你会发现依赖项弹出了黄色高亮提示。


根据IDE提示可以智能的识别到版本目录的存在,然后一键替换,替换后会报错,我们需要同步一下即可。


来到版本目录,IDE自动地把依赖放到了对应的位置,如下图:


剩余的依赖同上依次迁移过去到版本目录即可,需要注意的是,像类似 compose-bom 已经统一了版本号的物料清单,被包含的依赖不再需要定义版本号并且不需要使用 module,而是使用 group。name 代表了具体的名字。



迁移插件

接下来需要处理的另一处是我们的项目的插件部分,当然这部分没有提示,需要我们手动迁移过去。

迁移前


迁移后


在同步完成之后,如果 libs 出现以下报错问题可以参考博客解决:


博客 地址:
https://github.com/gradle/gradle/issues/22797






请到「今天看啥」查看全文