gradle共0篇
gradle
自定义Gradle二进制插件-五八三

自定义Gradle二进制插件

我们出于自己的目的,要开发实际业务场景的插件来辅助项目构建。 自定义二进制插件,可以使用 java,kotlin,或者 groovy 来编码,因为他们都是基于JVM的编程语言,最终都会生成class交给JVM去...
admin的头像-五八三admin2年前
0720
从开发一个插件看,安卓gradle插件适配AGP8.0-五八三

从开发一个插件看,安卓gradle插件适配AGP8.0

前言 相信很多小伙伴项目还没有升级AGP7.0,可是最新的AGP已经到8.2了,适配AGP8.0也要提上日程了,尤其是一些插件项目,因为8.0删除了transform API,所以需要提前做好适配工作。 如果你是一个...
admin的头像-五八三admin2年前
0350
记一次个人项目迁移到 AGP 8.0+ & Gradle 8.0+ 的全过程-五八三

记一次个人项目迁移到 AGP 8.0+ & Gradle 8.0+ 的全过程

前言 历经几个月的拖延,我终于在今天下午决定将自己的项目从 AGP 7.1.2 & Gradle 7.3.3 迁移至 AGP 8.0+ & Gradle 8.0+。整体过程还算顺利,但也遇到了一点问题,结果也比较有意思。本...
admin的头像-五八三admin2年前
0300

Android Gradle高级自定义

概述 Andorid Gradle支持一些实用的功能,比如:隐藏签名证书文件,降低证书暴露的风险。批量修改apk的名称,让名称一眼就能看出渠道,版本号,生成日期等关键信息。 1. 批量修改生成的apk名称 ...
admin的头像-五八三admin2年前
0220
编译优化跌落神坛-五八三

编译优化跌落神坛

最近在一次技术分享中,有网友问我小公司可以考虑做哪些编译优化?我觉得这个课题也还是挺有必要展开下讲讲的。 编译优化方面其实我个人觉得并不一定是特别高大上的东西,除了一些特别深水区的...
admin的头像-五八三admin2年前
0200

Android 字节码插桩库,也许有你需要的

公众号:字节数组 希望对你有所帮助 ??? 一、Trace 在最近的一年多时间里,我先后写过六篇关于 Android 字节码插桩的文章,一共对应四个功能点 ASM 字节码插桩:实现双击防抖 ASM 字节码插桩:...
admin的头像-五八三admin2年前
0180
Gradle深入解析 - Task原理(Graph篇)-五八三

Gradle深入解析 – Task原理(Graph篇)

你是否对gradle如何处理task间的依赖感到好奇,创建task的方式有很多种,建立依赖的方式也很多,gradle是如何确定最终task的执行顺序的,下面我们就来探究一下 先用一张图来展示task相关的概念 ...
admin的头像-五八三admin2年前
0170
开发这么久,gradle 和 gradlew 啥区别、怎么选?-五八三

开发这么久,gradle 和 gradlew 啥区别、怎么选?

翻译自《gradle-vs-gradlew-difference》 使用 Gradle 的开发者最常问的问题之一便是: gradle 和 gradlew 的区别? 。 这两个都是应用在特定场景的 Gradle 命令。通过本篇文章你将了解到每个命...
admin的头像-五八三admin2年前
0160

使用 Gradle Kotlin DSL 将 Android aar 发布到 Maven Repository – JFrog 的几点经验

近期正在着手将一些项目中共用组件抽离到底层,封装为组件,发布到公司内网 Jrog 搭建的 Maven 库。并且想要尝试使用 Gradle Kotlin DSL 替代 Gradle Groovy 来构建项目,遇到了一些坑,特此记...
admin的头像-五八三admin2年前
0130
如何使用Gradle7.0+的VERSION_CATALOG-五八三

如何使用Gradle7.0+的VERSION_CATALOG

把重要补充放在前面(2022年6月17日):该功能测试下来发现,需要把gradle文件夹下的gradle-wrapper.properties中,gradle版本改为7.4.2以上才可以,否则无法解析‘ (2023年8月2日)最新的喜欢...
admin的头像-五八三admin2年前
0130

gradle 产出apk文件的全过程

当我给 build.gradle中添加了渠道支持之后,如果我想要输出flavor1渠道的release包, flavorDimensions 'channel' ​ productFlavors {    flavor1 {        dimension 'channel'     ...
admin的头像-五八三admin2年前
0130

[Gradle] 编译任意地方的文件

[Gradle] 编译任意地方的文件 我正在参加「掘金·启航计划」 本人所有文件禁止任何形式的转载 gradle 对于参与编译的文件的位置没有限制,不必发布到maven repository 或者编译成aar、jar。 Sou...
admin的头像-五八三admin2年前
0130

Gradle插件基础(1)

插件的概念 Gradle本身提供了基本的概念和 核心框架,这两样东西,完全不涉及到 业务内容,它们只提供业务可能用到的抽象过程,而业务内容(涉及到真实应用场景的逻辑性质的代码)全部以外来扩...
admin的头像-五八三admin2年前
0120
App常用依赖管理工具-五八三

App常用依赖管理工具

依赖管理 大到整个App,小到一个函数。只要是能够复用减少重复开发工作量, 就可以抽出为组件库, 以库或包的形式进行复用。 依赖管理工具关注组件或库的名称、版本、仓库源(本地或远程),在配置...
admin的头像-五八三admin2年前
0120

深入浅出学习Gradle(之二)

前言 这是序列文章。 序列之一请看这里。 序列之二请看这里。 序列之三请看这里。 四、Gradle项目构建与依赖管理 1、Android项目中的Gradle构建 在Android项目中,Gradle负责完成项目的编译、打...
admin的头像-五八三admin2年前
0110
玩转ASM | 写个代码扫描插件,再也不怕 log4j 等问题-五八三

玩转ASM | 写个代码扫描插件,再也不怕 log4j 等问题

引言 关于静态代码扫描,大家想必都非常熟悉了,比如 lint、detekt 等,这些也都是常用的扫描工具。但随着隐私合规在国内越来越趋于常态,我们经常需要考虑某些危险api的调用排查等等,此时上述...
admin的头像-五八三admin2年前
0110
Gradle深入解析 - Task原理(执行篇)-五八三

Gradle深入解析 – Task原理(执行篇)

前2篇文章探究了gradle是如何处理Task Graph和Task调度的,至此Task的前期工作就已经完成了 下面就该执行Task了,如果观察过Task执行的话,会留意到console输出中Task后面有的带有执行结果的标...
admin的头像-五八三admin2年前
0100
Android 干货分享: 字节码插桩(1)—— 熟悉 Gradle-五八三

Android 干货分享: 字节码插桩(1)—— 熟悉 Gradle

我正在参加「掘金·启航计划」 目录 Android 干货分享: 字节码插桩(1)—— 熟悉 Gradle Android 干货分享: 字节码插桩(2)—— ASM 使用 (待更新) 前言 我在学习这方面内容时也参阅了很多...
admin的头像-五八三admin2年前
0100
如何像build scan一样收集gradle构建信息-五八三

如何像build scan一样收集gradle构建信息

如果你还没有使用过build scan功能,推荐尝试一下,它用精美的UI展示了gradle构建过程中的详细信息。比如参与构建的project的层级关系,所使用到的插件,项目维度的依赖,task的执行耗时等等等...
admin的头像-五八三admin2年前
090

深入浅出学习Gradle(之一)

前言 这是序列文章。 序列之一请看这里。 序列之二请看这里。 序列之三请看这里。 一、引言 1、Gradle的概念 Gradle是一个开源的、基于Groovy语言的项目自动化构建工具,旨在帮助开发人员更轻松...
admin的头像-五八三admin2年前
090