在上一篇博客 【Android 逆向】ART 函数抽取加壳 ( ART 下的函数抽取恢复时机 | 禁用 dex2oat 机制源码分析 )
Sonatype Nexus 安装目录为 : D: 01_Develop 43_Sonatype_Nexusnexus-3.27.0-03-win64nexus-3.27.0-03
在 Gradle 自定义插件 Plugin 中 , 如果要执行复杂的工作 , 可以在 实现的 Plugin 接口的 apply 函数中执行 ;
在 buildSrc 模块 中的 src/main/groovy 目录 下 , 创建 MyPlugin.groovy 代码文件 作为插件的主要代码 , 代码如下 :
org.gradle.api.Project 配置 ( build.gradle 根配置 ) 文档 : https://docs.gradle.org/current/javadoc/org/gradle/api/Project.html
org.gradle.api.tasks.bundling.Zip 自带任务 ( 任务类型 ) 文档 :https://docs.gradle.org/current/dsl/org.gradle.api.tasks.bundling.Zip.html
在 DefaultTask 中的 任务输出 调用 TaskOutputs#upToDateWhen 方法 , 在传入的闭包参数中 , 返回值为 true 时 , 在编译时遇到该 自定义 Gradle 任务 , 如果 第二次执行 且 输入 / 输出 相同 , 会跳过该任务 , 执行...
Task#finalizedBy 函数 的作用是为 Gradle 任务 设置任务执行完毕后执行的任务 ;
Task#shouldRunAfter 函数的作用是为 Gradle 任务设置该任务执行时 , 应该在某个任务之后 ;
Task#dependsOn 函数的作用是为 Gradle 任务设置依赖任务 , 执行该任务前 , 依赖任务必须被满足 ;