使用Protobuf Gradle Plugin创建 Protobuf-Lite

protobuf在android还推荐一种使用方式为protobuf-lite,使用protobuf gradle plugin
构建时生成代码的方式来使用protobuf

Protobuf的使用上问题,可以参考 Protobuf在Android下的使用说明

添加protobuf-gradle-plugin

在项目根目录下的build.gradle文件中修改为如下代码:

1
2
3
4
5
6
7
8
9
10
buildscript {
repositories {
jcenter()
mavenCentral()
}
dependencies {
classpath 'com.android.tools.build:gradle:2.3.0'
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.3'
}
}

引用protobuf-gradle-plugin

在application的项目下build.gradle文件修改为如下代码:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
apply plugin: 'com.google.protobuf'//声明插件

...

protobuf { //protobuf生成的配置
protoc {
artifact = 'com.google.protobuf:protoc:3.2.0'
}
plugins {
javalite {
artifact = 'com.google.protobuf:protoc-gen-javalite:3.0.0'
}
}
generateProtoTasks {
all()*.plugins {
javalite { }
}
}
}

dependencies {
compile fileTree(dir: 'libs', include: ['*.jar'])
compile 'com.google.protobuf:protobuf-java:3.2.0' //依赖的protobuf-java lib
}

执行android studioBuild > Rebuild Project后。在app/build/generated/source/proto下会生成相应的protobuf java代码。

程序样例:
https://github.com/itvincent-git/protobuf-sample/tree/gradleplugin

文章作者: Vincent Zhong
文章链接: https://www.itvincent.net/2017/09/12/protobuf-gradle-plugin/
版权声明: 本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 itVincent的博客