文章详情页
android - 编写Gradle插件时,想在build目录下生成类,但是执行task以后,无法像BuildConfig类那样使用,请问怎么解决?
问题描述
根据需求编写一个Gradle插件,目的是在build目录下生成文件,但是生成的路径如下build目录下生成的java类, 这个文件是没有办法使用的....BuildConfig 类文件, 这个可以直接在代码中使用,请问需要怎么配置才能像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来增加自定义字段
排行榜