首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用Kotlin KSP生成android资源(xml)文件

如何使用Kotlin KSP生成android资源(xml)文件
EN

Stack Overflow用户
提问于 2022-07-08 05:29:42
回答 1查看 173关注 0票数 0

我正在开发一个自定义生成器,通过Android平台上的注释生成代码。我目前使用KSP来生成代码。在我生成代码之后,我需要生成一些资源xml文件,我应该为它做些什么?

我考虑了几点:

build.gradle.

  • Another中有生成资源文件的正式方法,但是由于资源的内容是从注释中派生出来的,所以我不能将生成器代码移动到apt/kapt.

  • Where,所以完全将生成器代码移到build.gradle中,但是如果没有ksp或apt/kapt.

  • Where,就无法解析源文件中的注释,应该存储生成的资源文件吗?似乎我无法从KSP .

获得输出dir。

EN

回答 1

Stack Overflow用户

发布于 2022-10-15 15:38:57

搬到build.gradle是什么意思?你的意思是从分级任务中生成资源吗?

您可以以类似于生成源代码的方式从SymbolProcessor中生成资源。KSP在编译源和合并资源之前运行。您可以在生成的资源目录(例如app/src/myplugin/res )中生成аn XML,然后包含生成的资源,这样应用程序就可以识别它们:

代码语言:javascript
复制
sourceSets {
        main {
            res.srcDirs = ['src/main/res/', 'src/myplugin/res',]
        }
    }

可以将目标资源目录指定为KSP参数如下:

代码语言:javascript
复制
ksp {
    arg("generatedResourceDir", "$projectDir/src/myplugin/res")
}

提供的参数将在SymbolProcessorEnvironment.options中可用

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72907017

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档