在做 JNI 的时候,Kotlin 与 Rust 传递复杂结构,需要手动赋值每一行属性,非常繁琐。 想到也许可以用 Protocol Buffer 作为中间载体,依赖自动生成的类。

效果倒是可以,input 和 output 都使用 ByteArray 了,两边各自反序列化一次就行。 但是吧,10 个属性的结构,在 Rust 下面生成的文件也就 60 行,在 Java 里有足足 2500+ 🤯

Protobuf java generate to large methods

只能说,凡事皆有代价。