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注解写法
不需要再手动指定implementations和analyze参数了,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




