Android问题集合

150 阅读1分钟

Android开发中遇到的问题和解决

AIDL跨进程通信因序列化产生的问题

2021年3月29日10:51:46

项目(IM)中是用到了AIDL进行跨进程通讯,用于处理消息的发送,但是在消息发送中,扩展字段死活传过不去

自定义消息XXXMessageContent使用的是Kotlin语言,@Parcelize注解,但是消息基类MessageContent是Java语言的

断点调试发现,只有自定义消息构造方法的参数才能正确传递,而继承自父类中的属性均为空值,于是猜测可能是序列化出了问题

但是Kotlin的序列化实现也是个半吊子,所以最后将之前的kotlin代码都转回了Java,重新执行流程,果然是序列化的问题导致了父类的属性并没有序列化成功......

下来需要研究一下Kotlin序列化的进阶