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)
十分感谢~
Dans
gradle plugin
, vous pouvez utiliser ASM pour générer les classes dont vous avez besoin. Bien sûr, vous devez connaître certaines connaissances liées au bytecode. Une autre façon, que j'ai mentionnée dans votre question précédente, consiste à utiliserAPT
Cette méthode est similaire à la méthode de Jake Whartonbutterknife. J'espère que ça aide.Je n'ai pas étudié cela en détail, mais un moyen plus simple consiste à ajouter des champs personnalisés dans BuildConfig. Tous les champs de BuildConfig proviennent de defaultConfg dans build.gradle. Vous pouvez ajouter des champs personnalisés en ajoutant buildConfigFiled
.