찾다

 >  Q&A  >  본문

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)

十分感谢~

PHP中文网PHP中文网2771일 전811

모든 응답(2)나는 대답할 것이다

  • 大家讲道理

    大家讲道理2017-04-18 09:19:02

    gradle plugin에서는 ASM을 사용하여 필요한 클래스를 생성할 수 있습니다. 물론 바이트코드 관련 지식이 필요합니다. 이전 질문에서 언급한 또 다른 방법은 APT을 사용하는 것입니다. 이 방법은 Jake Whartonbutterknife의 방법과 유사합니다. 도움이 되길 바랍니다.

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-18 09:19:02

    자세히 연구하지는 않았지만 BuildConfig에 사용자 정의 필드를 추가하는 것이 더 간단한 방법입니다. BuildConfig의 모든 필드는 build.gradle의 defaultConfg에서 가져옵니다. buildConfigFiled를 추가하면 사용자 정의 필드를 추가할 수 있습니다.

    회신하다
    0
  • 취소회신하다