一、前言二、自定义Task三、参考链接
一、前言在开发中,我们常常会接触到gradle。通常都是使用以下自己本身就有的api进行配置,但是有时候我们需要做些自定义的插件。这时候就要自定义gradle的api了。比如想修改下sdk的代码,但是我们是没有源码的,可以使用该方式进行处理。
(本文不再记录关于Gradle与Android的关系,以及Gradle在Android中的使用方式)
二、自定义Taskgradle分三个阶段进行构建,分别是 Initialization (初始化)、Configuration (配置) 和 Execution (执行)。在Gradle中是使用task任务作为单元的。例如以下代码:
task clean(type: Delete) { delete rootProject.buildDir }
如果我们想要自定义任务,只要写个和这个差不多的就行。如下:
task hello{ println("World ") } //或者以下 tasks.register("hello"){ println("Hello " + project.parent?.name) }
如果构建程序会发现其实任务是在配置期间运行的。所以在编写Task时候不可以在里面编写耗时 *** 作。
如果想将任务移动到执行阶段,则可以使用doFirst() 或 doLast() 函数来达到这一目的:
tasks.register("hello"){ doLast { println("Hello " + project.parent?.name) } }三、参考链接
Gradle 与 AGP 构建 API: 配置您的构建文件
Gradle
Android Gradle plugin API
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)