Flutter 解析 protobuf 消息内容

668 阅读1分钟

持续创作,加速成长!这是我参与「掘金日新计划 · 6 月更文挑战」的第4天,点击查看活动详情

方案一:google 官方文档【可以成功】

文档指引: developers.google.com/protocol-bu…

1. 声明 .proto 文件

已有的项目中已经声明好了(base.proto 文件),直接拷贝放在 <project-root>/lib目录

2. 安装 protoc

第一步,下载 protoc,下载地址为 github.com/protocolbuf…

第二步,解压文件后拷贝到环境变量 PATH 中的文件夹中

D:\Program Files\flutter\bin

3. 全局安装 protoc_plugin

第一步,安装 protoc_plugin

github.com/google/prot…

dart pub global activate protoc_plugin

第二步,根据命令行的提示配置环境变量

4. protoc 生成 dart 代码

protoc --proto_path=lib --dart_out=lib/gen lib/base.proto

5. 修改代码,解析消息

import "./gen/base.pb.dart";

BaseMessage protobufMsg = BaseMessage.fromBuffer(msgBuffer);
print('message info: $protobufMsg');

消息数据正常解析出来了

protobuf 库【没搞懂】

protobuf 库具体干啥没看懂,是否可以不用上面那么麻烦直接解析,后续再研究

pub.dev/packages/pr…