Android studio-gradle中转换API的用途

Android studio-gradle中转换API的用途,android,gradle,Android,Gradle,我不清楚transform API的用途,它说: 从1.5.0-beta1开始,Gradle插件包括一个转换API,允许第三方插件在编译类文件转换为dex文件之前对其进行操作。 (API存在于1.4.0-beta2中,但已在1.5.0-beta1中进行了彻底改造) 此API的目标是简化注入自定义类 无需处理任务的操作,并提供更多 灵活处理被操纵的内容。内部代码处理 (jacoco、progard、multi-dex)都已转移到这种新机制 已经在1.5.0-beta1中。注意:这只适用于javac

我不清楚transform API的用途,它说:

从1.5.0-beta1开始,Gradle插件包括一个转换API,允许第三方插件在编译类文件转换为dex文件之前对其进行操作。 (API存在于1.4.0-beta2中,但已在1.5.0-beta1中进行了彻底改造)

此API的目标是简化注入自定义类 无需处理任务的操作,并提供更多 灵活处理被操纵的内容。内部代码处理 (jacoco、progard、multi-dex)都已转移到这种新机制 已经在1.5.0-beta1中。注意:这只适用于javac/dx代码 路径Jack目前不使用此API

有谁能提供一个真实的例子,说明我何时会使用转换?在编译后的类文件转换为dex之前,我什么时候需要操作它?

这里有一个很好的例子:

Android不支持Java8,但很多人希望lambda支持。接受已编译的类并使其lambda向后兼容


gradle retrolambda当前的稳定版本不使用transform API,但我知道它有一个beta版本使用它。

出于好奇,我可以不使用它作为aspectJ的一种类型吗?因为我可以在dex转换之前将代码注入类中,对吗?使用TransformAPI,您也可以访问应用程序资源,如drawables和layout