You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Realm 5.0.0中RealmProxy类无法生成问题求助

解决Realm 5.0.0+与Parceler整合时RealmProxy类未生成的问题

我之前也碰到过一模一样的问题!Realm 5.0.0版本对字节码增强机制做了重大调整,不再生成传统的xxxRealmProxy类,这直接导致你原来Parceler注解里指定的代理类找不到了。下面是亲测有效的解决步骤:

1. 升级Parceler到兼容版本

首先得确保你的Parceler依赖版本至少是1.1.10——这个版本开始官方正式支持Realm 5.x的新字节码增强逻辑。如果你的项目里Parceler版本过低,先更新gradle依赖:

// Android项目的Module级别build.gradle
implementation 'org.parceler:parceler-api:1.1.10'
annotationProcessor 'org.parceler:parceler:1.1.10'

2. 简化Parceler注解写法

不需要再手动指定implementationsanalyze参数了,Realm 5.x会自动处理代理类的生成逻辑。你只需要在Realm模型类上保留@Parcel注解,并确保类上标注了@RealmClass

@RealmClass
@Parcel(value = Parcel.Serialization.BEAN)
public class SomeClass extends RealmObject {
    // 你的字段、构造方法及业务逻辑
}

3. 清理缓存并重新构建项目

旧的构建缓存有时候会干扰代理类的生成,建议执行以下操作:

  • 点击Android Studio顶部菜单栏的Build > Clean Project
  • 接着执行Build > Rebuild Project
  • 如果还是有问题,可以尝试手动删除项目根目录下的.gradle文件夹和Module里的build文件夹,然后重新同步项目并构建

这样调整之后,Parceler就能和Realm 5.x正常配合工作,再也不用依赖原来的xxxRealmProxy类啦。

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

火山引擎 最新活动