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:
获取数据后解析:
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();
相关文章推荐
- protobuf使用NDK编译Android的静态库(工作记录)
- Android 中protobuf 的安装,编译和使用
- java(Android):windows系统 ProtoBuf(3.1.0)编译及使用
- java(Android):windows系统 ProtoBuf(3.1.0)编译及使用
- arm-linux-gcc-4.4.3交叉编译google的protobuf。以及使用方法
- [转]Android上GTalk以及Push机制的XMPP数据选择使用protobuf格式而非XML格式
- Android项目使用 protobuf和grpc简单例子
- Protobuf 在Ubuntu 14.04上的编译与使用
- Android Studio 使用NDK编译Protobuf为so库
- Protobuf在Visual Studio 2013下编译和使用(1)
- Android下使用Protobuf进行序列化
- 在lua环境中使用protobuf ,编译protobuf文件
- linuxmint18上cocos2dx protobuf2.6.1编译、使用方法
- protobuf 系列 ---------下载、编译与使用
- Android下使用Protobuf进行序列化
- google/protobuf--VS2015编译、使用
- Android上GTalk以及Push机制的XMPP数据选择使用protobuf格式而非XML格式
- Protobuf 在Ubuntu 14.04上的编译与使用
- 使用cmake编译protobuf生成vs2010工程
- Unity跨iOS、Android平台使用protobuf-net的方法