During the past month or so I have been developing a component for an internal proprietary system. As part of this project, I also wrote a library that generates dialects for Mavlink, deals with packing/unpacking the protocol, serializes/deserializes message payloads, performs CRC checks, supports signing and more. I wrote it as a separate module and released it as an open source project, which is also available on Maven Central.
It is available at https://github.com/dronefleet/mavlink
Please feel free to use, criticize, make suggestions, and most importantly report bugs, design problems or any other relevant issue that keeps you from achieving your intended goal (within constraints of the library’s objective, obviously).
Hopefully you find this helpful