android - 编写Gradle插件时,想在build目录下生成类,但是执行task以后,无法像BuildConfig类那样使用,请问怎么解决?
PHP中文网
2017-04-18 09:17:02
根据需求编写一个Gradle插件,目的是在build目录下生成文件,但是生成的路径如下
build目录下生成的java类, 这个文件是没有办法使用的....
BuildConfig 类文件, 这个可以直接在代码中使用,请问需要怎么配置才能像BuildConfig类一样?
我使用的使这种方法,但是目前来看没有效果...
//~ 自定义Gradle Plugin中
def outputDir = project.file(new File(project.buildDir, "generated/source/CConfig"))
variant.addJavaSourceFoldersToModel(outputDir)
十分感谢~
gradle plugin
에서는 ASM을 사용하여 필요한 클래스를 생성할 수 있습니다. 물론 바이트코드 관련 지식이 필요합니다. 이전 질문에서 언급한 또 다른 방법은APT
을 사용하는 것입니다. 이 방법은 Jake Whartonbutterknife의 방법과 유사합니다. 도움이 되길 바랍니다.자세히 연구하지는 않았지만 BuildConfig에 사용자 정의 필드를 추가하는 것이 더 간단한 방법입니다. BuildConfig의 모든 필드는 build.gradle의 defaultConfg에서 가져옵니다. buildConfigFiled를 추가하면 사용자 정의 필드를 추가할 수 있습니다.