您的位置:首页 > 移动开发 > Android开发

Android:ProtoBuf编译及使用

2016-11-15 15:52 393 查看
一、ProtoBuf编译出jar文件

1. 从http://maven.apache.org/download.cgi下载apache-maven-3.3.9-bin.zip,解压至D:\AndroidDevelop目录。

配置环境变量:

MAVEN_HOME:D:\AndroidDevelop\apache-maven-3.3.9;

Path=%MAVEN_HOME%bin;

 

2.从https://github.com/google/protobuf/releases下载protobuf-java-3.1.0.zip,protoc-3.1.0-win32.zip。

将protobuf-java-3.1.0.zip解压至D:\AndroidDevelop目录,将protoc-3.1.0-win32.zip中的protoc.exe解压至D:\AndroidDevelop\protobuf-3.1.0\src目录,并复制到D:\AndroidDevelop\protobuf-3.1.0\java目录,打开命令行cd到此目录,执行protoc
--java_out=../src/java -I ../src/google/protobuf/descriptor.proto,

3.最后cd到D:\AndroidDevelop\protobuf-3.1.0\java目录,执行mvn install –Dmaven.test.skip=true(不执行单元测试)或mvn install进行编译,完成后在D:\AndroidDevelop\protobuf-3.1.0\java\target目录下有个protobuf-3.1.0.jar文件,复制到工程的jar目录中。

二、生成java、oc、.net相关源文件命令:

protoc --java_out=./java lottery_history.proto

protoc --objc_out=./objc lottery_history.proto

protoc --csharp_out=./csharp lottery_history.proto

三、将生成的java源文件放入工程指定包中,如下使用。

请求时生成body:

AcountProto.BindPhone.Builder builder = AcountProto.BindPhone.newBuilder();
builder.setPhone(phone);
return builder.build().toByteArray();


获取数据后解析:

Any data = ...;
AcountProto.Session rootPro = data.unpack(AcountProto.Session.class);
String sessionToken = rootPro.getAuthToken();
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: