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

使用Realm Kotlin是否需移除原Realm?出现io.realm重复类错误如何处理

问题解答

核心结论

你遇到的类重复报错是因为同时引入了旧版Realm Android和0.x版本的Realm Kotlin,二者包名完全重叠,默认无法共存。

  • 如果你坚持使用当前0.3.1版本的Realm Kotlin,必须完全移除原Realm Android的所有相关配置和依赖才能解决冲突,这种方案不支持逐步迁移。
  • 如果你需要实现渐进式迁移,可以将Realm Kotlin升级到1.0.0及以上稳定版本,该版本开始官方做了包名隔离,Realm Kotlin的API全部迁移到io.realm.kotlin包下,和旧版Realm Android的io.realm包完全独立,可在项目中共存。

具体修复步骤(支持渐进式迁移)

  1. 升级Realm Kotlin的gradle插件版本到1.0.0及以上,修改classpath配置:
// 保留旧版Realm的classpath用于兼容原有代码
classpath "io.realm:realm-gradle-plugin:10.3.1"
// 替换为Realm Kotlin稳定版,示例用1.13.0,可替换为最新稳定版
classpath "io.realm.kotlin:gradle-plugin:1.13.0"
  1. 插件配置不需要修改,两个插件可以同时启用:
id 'realm-android'
id 'io.realm.kotlin'
  1. 升级Realm Kotlin依赖版本:
// 替换原有0.3.1版本的依赖,单Android平台也可以用library-android
implementation 'io.realm.kotlin:library-base:1.13.0'

注意事项

  • 新旧版本的Realm数据库默认不共享,如需迁移原有旧版数据到Realm Kotlin,需要手动实现数据迁移逻辑。
  • 所有旧版Realm相关代码仍可正常运行,你可以逐步替换为Realm Kotlin的实现,待全部迁移完成后再移除旧版Realm的所有配置和依赖即可。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.13 07:48:02