排序
Gradle插件基础(1)
插件的概念 Gradle本身提供了基本的概念和 核心框架,这两样东西,完全不涉及到 业务内容,它们只提供业务可能用到的抽象过程,而业务内容(涉及到真实应用场景的逻辑性质的代码)全部以外来扩...
搭建自己的Gradle Build Cache Service(基于阿里云OSS)
在Gradle深入解析 - Task原理(执行篇)中分析过gradle的缓存机制,知道gradle有本地和远程缓存的区分,它会记录下task的输入输出,可以从缓存中恢复输出来避免重新执行,以加快构建速度,那么我...
深入浅出学习Gradle(之一)
前言 这是序列文章。 序列之一请看这里。 序列之二请看这里。 序列之三请看这里。 一、引言 1、Gradle的概念 Gradle是一个开源的、基于Groovy语言的项目自动化构建工具,旨在帮助开发人员更轻松...
使用 Gradle Kotlin DSL 将 Android aar 发布到 Maven Repository – JFrog 的几点经验
近期正在着手将一些项目中共用组件抽离到底层,封装为组件,发布到公司内网 Jrog 搭建的 Maven 库。并且想要尝试使用 Gradle Kotlin DSL 替代 Gradle Groovy 来构建项目,遇到了一些坑,特此记...
如何使用Gradle7.0+的VERSION_CATALOG
把重要补充放在前面(2022年6月17日):该功能测试下来发现,需要把gradle文件夹下的gradle-wrapper.properties中,gradle版本改为7.4.2以上才可以,否则无法解析‘ (2023年8月2日)最新的喜欢...
【Gradle-7】Gradle构建核心之Task指南
我正在参加「掘金·启航计划」 1、前言 本文是Gradle系列的第7篇,给大家带来Gradle构建核心Task相关的知识点。 2、Gradle中的Task是什么 Task是一个任务,是Gradle中最小的构建单元。 Gradle构...
自定义Gradle二进制插件
我们出于自己的目的,要开发实际业务场景的插件来辅助项目构建。 自定义二进制插件,可以使用 java,kotlin,或者 groovy 来编码,因为他们都是基于JVM的编程语言,最终都会生成class交给JVM去...
玩转ASM | 写个代码扫描插件,再也不怕 log4j 等问题
引言 关于静态代码扫描,大家想必都非常熟悉了,比如 lint、detekt 等,这些也都是常用的扫描工具。但随着隐私合规在国内越来越趋于常态,我们经常需要考虑某些危险api的调用排查等等,此时上述...
Android更整洁的接入Sonarquebe | initscript 拓展
我们Android工程pipeline阶段需要进行静态扫描或者是资源归属检查之类的gradle任务。这些插件开发同学是不需要感知到。但是由于是用gradle插件实现的,这样就会对build.gradle进行不可避免的侵入...
Android – 统一依赖管理 (最新版:version Catalogs)
前言 几个月前,我发布了一个 《Android - 统一依赖管理(config.gradle)》文章,评论区好多帅哥靓女说,这种方式已经过时了。如图: 仔细一想,之前的方式确实是有很多的弊端,并且不太方便。...
Gradle深入解析 – Task原理(执行篇)
前2篇文章探究了gradle是如何处理Task Graph和Task调度的,至此Task的前期工作就已经完成了 下面就该执行Task了,如果观察过Task执行的话,会留意到console输出中Task后面有的带有执行结果的标...
【Gradle-8】Gradle插件开发指南
1、前言 Gradle插件开发在Android进阶知识中是占有一定比例的,特别是在性能优化领域,基本都会涉及,而且跟我们日常的编译打包也息息相关,加上有不少招聘要求里也明确要有Gradle插件开发经验...
Android 干货分享: 字节码插桩(1)—— 熟悉 Gradle
我正在参加「掘金·启航计划」 目录 Android 干货分享: 字节码插桩(1)—— 熟悉 Gradle Android 干货分享: 字节码插桩(2)—— ASM 使用 (待更新) 前言 我在学习这方面内容时也参阅了很多...