官网地址: https://developers.google.cn/protocol-buffers/
proto 文件语法 https://developers.google.cn/protocol-buffers/docs/reference/proto2-spec
导入另一个 proto 文件中的定义
import <anotherProto>;
protocol complier 语法
protoc [OPTION] PROTO_FILES
-I=PATH, --proto_path=PATH 指定 proto 文件所在的位置
--version 查看 protocol compiler 的版本
-h, --help 查看帮助
--java_out=OUT_DIR 指定生成 Java 源文件的输出目录
--plugin=EXECUTABLE 指定可执行的插件. 另外 EXECUTABLE 还可以以 NAME=PATH 的形式指定插件的位置.
optimize_for 这个 option 有3个选项, SPEED(default), CODE_SIZE, LITE_RUNTIME.
SPEED 是默认的选项, 生成的源码注重执行的效率.
CODE_SIZE, 生成的源码注重文件的大小. 会尽可能的生成少量的代码, 但执行效率不如 SPEED 选项.
LITE_RUNTIME, 注重代码的执行效率, 和 SPEED 的差别在于它生成的代码实现的是 MessageLite 接口, 而不是 Message. 它不支持描述符和反射. 然而, 在这个选项下生成的代码只需要连接到 libprotobuf-lite.jar
而不是libprotobuf.jar
. "lite" 库比整个库更小, 它更适用于资源有限的系统, 例如手机平台.