You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KMM配置SqlDelight时是否需要使用自有项目包名?

问题解答

必须替换为你自己项目的包名,不要保留示例中的.handson.段,核心原因有3点:

  • 保证项目命名空间统一:SQLDelight会根据你配置的packageName自动生成数据库实例、表操作、DAO等相关代码,用和你项目其他代码一致的包名,导入语句会更统一,后续维护查找代码也更方便,不会出现项目中同时存在多个不同前缀包名的混乱情况。
  • 避免命名冲突:示例中的com.jetbrains.handson前缀是JetBrains官方教程的专用命名空间,如果你后续同时开发多个KMM demo、或者依赖的第三方库也用了类似命名,很容易出现类重复引用、编译报错的问题,符合规范的唯一包名可以完全规避这类问题。
  • 符合生态开发规范:JVM/Android/KMM生态默认要求包名使用个人/团队的域名反写作为唯一前缀,本身就是为了避免不同开发者的代码出现命名冲突,示例包名仅作演示使用,不适用于任何正式项目。

如果你只是临时跟着教程做练习Demo,不改包名也可以正常运行,但只要是你自己的正式开发项目,一定要做替换。比如你的项目公共模块包名为com.xxx.myproject.shared,就可以把配置改成:

sqldelight {
    database("AppDatabase") {
        packageName = "com.xxx.myproject.shared.cache"
    }
}

内容的提问来源于stack exchange,提问作者barryalan2633

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.29 18:54:04