您的位置:首页技术文章
文章详情页

android - 编写Gradle插件时,想在build目录下生成类,但是执行task以后,无法像BuildConfig类那样使用,请问怎么解决?

【字号: 日期:2024-08-18 17:00:49浏览:57作者:猪猪

问题描述

根据需求编写一个Gradle插件,目的是在build目录下生成文件,但是生成的路径如下build目录下生成的java类, 这个文件是没有办法使用的....

android - 编写Gradle插件时,想在build目录下生成类,但是执行task以后,无法像BuildConfig类那样使用,请问怎么解决?

BuildConfig 类文件, 这个可以直接在代码中使用,请问需要怎么配置才能像BuildConfig类一样?

android - 编写Gradle插件时,想在build目录下生成类,但是执行task以后,无法像BuildConfig类那样使用,请问怎么解决?

我使用的使这种方法,但是目前来看没有效果...

//~ 自定义Gradle Plugin中def outputDir = project.file(new File(project.buildDir, 'generated/source/CConfig'))variant.addJavaSourceFoldersToModel(outputDir)十分感谢~

问题解答

回答1:

在gradle plugin中你可以使用ASM生成你需要的类,当然需要了解一些字节码相关知识。还有一种做法,也是你上一个问题我有提到的,就是使用APT,这个方式就类似于JakeWhartonbutterknife中的方法。希望对你有帮助。

回答2:

没有具体深入研究过这个,但简便一点的办法,在BuildConfig增加自定义字段,BuildConfig里所有字段都来自build.gradle中的defaultConfg,可以通过增加buildConfigFiled来增加自定义字段