Android Studio 项目引入ProtoBuf(附序列化与反序列化)

一直听说protobuf的优点 体积小  速度快  是这个的几十倍 那个的上百倍,一直以来的项目场景也很少遇到需要如此高性能的通信,但是也需要研究一下,万一哪天要写个 IM 呢,神器 就是神器。

首先呢,要去 https://github.com/protocolbuffers/protobuf/   下载源码和编译器 (根据自己的环境)

protobuf-3.21.5        protoc-21.5-win64

 

 

 

因为后面需要用到mvn package 去编译项目,所以提前配置好 maven,这里就不说了。

 

把 protoc.exe 复制到 \protobuf-3.21.5\src 目录下

 打开CMD 进入 protobuf-3.21.5\java 目录下, 输入命令:   mvn package       也可以直接进入此文件夹中按住shift+鼠标右键选择在此处打开命令窗口再输入命令,然后要等待一会,最终出现了成功的窗口 如图

 

 生成的文件在 protobuf-3.21.5\java\core\target 中,我的叫protobuf-java-3.21.5.jar 如图:

 这个jar包就是我们想要的东西了,把它放到你工程的libs下面就可以了,别忘了让工程添加依赖!

下面就可以把proto变成JAVA文件了!随便写了一个proto 如下图: 

 

 然后运行命令 
protoc.exe --java_out=protoout person.proto  

第一个路径是要输入到的目录,第二个路径是protobuf的文件(这里我都放在一个目录下了)

 

 执行后看结果

 

 

 

 已经成功输出了!然后把这个文件放入工程里吧,要跟上面proto里包的目录一致!