Android中Protobuf集成使用

集成ProtobufAndroid项目中的步骤如下

  1. Projectbuild.gradle下加入protobuf插件

classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.12'

  1. modulebuild.gradle下添加配置

apply plugin: 'com.google.protobuf'

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
android {
...
sourceSets {
main {
java {
srcDirs 'src/main/java'
}
//pb文件所在目录
proto {
srcDirs 'src/main/proto'
}
}
}
}
   //protobuf脚本配置
   protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.0.0'
}

generateProtoTasks {
all().each { task ->
task.builtins {
remove java
}
task.builtins {
java {}
}
}
}
}
 //依赖protobuf库
 dependencies {
...
api 'com.google.protobuf:protobuf-java:3.0.0'
}

3.make项目完成

XXPB.pb文件结构

1
2
3
4
5
6
7
8
9
10
11
12
syntax                                        = "proto3";
option java_package = "com.xxx.xx.proto";
option java_multiple_files = true;
option optimize_for = LITE_RUNTIME;

package XXPB;

//用户Id信息
message UserId {
int64 lUid = 1; // user id
string sVersion                             = 2; // app版本
}

:记得protobuf的生成类不要混淆