使用Kotlin Symbol Processing(KSP)时如何向注解处理器传递参数
KSP 为注解处理器传递参数需要在模块级 build.gradle 配置文件的 android 代码块中添加对应配置,针对 Room 的 Schema 导出警告,有两种解决方式:
方式一:配置 Schema 导出路径(推荐)
根据你使用的 Gradle 脚本语法选择对应配置:
Groovy 语法(传统 .gradle 后缀文件)
在模块的 android -> defaultConfig 块内添加如下配置:
ksp { arg("room.schemaLocation", "$projectDir/schemas".toString()) }
配置后 Room 会自动将数据库Schema文件导出到当前模块根目录的 schemas 文件夹下。
Kotlin DSL 语法(.gradle.kts 后缀文件)
在模块的 android -> defaultConfig 块内添加如下配置:
ksp { arg("room.schemaLocation", "$projectDir/schemas") }
配置完成后重新编译项目即可消除警告,Schema导出功能正常生效。
方式二:关闭Schema导出
如果你不需要保留数据库Schema文件,可以直接在你的数据库类注解中关闭导出功能:
// 增加exportSchema = false参数 @Database(entities = [你的实体类::class], version = 1, exportSchema = false) abstract class MyDatabase : RoomDatabase() { // 原有数据库配置内容 }
内容的提问来源于stack exchange,提问作者Cristan
相关产品推荐
相关产品推荐

