这篇文章主要是介绍如何在AndroidStudio中使用protobuf协议。
先简单的介绍下protobuf:
什么是protobuf呢?官网是这么说的:
Protocol buffers are Google's language-neutral, platform-neutral, extensible mechanism for serializing structured data 。
翻译过来大概就是:Protocol Buffers(也称protobuf)是google旗下一款独立于开发语言,独立于平台的可扩展的结构化数据序列机制。
简单来说,就是像json、xml这种用来传输数据的一种数据交互协议。不过,相比与json、xml,protobuf更加轻便与高效。
那么,我们在AndroidStudio中要如何去使用protobuf协议呢?
首先,我们需要在全局的build.gradle文件中添加上protobuf工具插件:
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.0'
然后,要app/build.gradle文件中添加上此插件:
apply plugin: 'com.google.protobuf'
然后我们需要在app/build.gradle下添加依赖:
compile 'com.google.protobuf:protobuf-java:3.5.1'
接下来在app/build.gradle里添加上:
protobuf {
//配置protoc编译器
protoc {
artifact = 'com.google.protobuf:protoc:3.5.1'
}
//这里配置生成目录,编译后会在build的目录下生成对应的java文件
generateProtoTasks {
all().each { task ->
task.builtins {
remove java
}
task.builtins {
java {}
}
}
}
}
然后在src/main目录下创建proto文件夹,将你的.proto文件放置在proto目录下,并在app/build.gradle文件中,android模块里添加上:
sourceSets {
main {
java {
srcDir 'src/main/java'
}
proto {
srcDir 'src/main/proto'
}
}
}
然后Rebuild 一下,如果在app/build/generated/source/proto/目录下找到与你与放在src/main/proto目录下的protobuf文件同名的java文件,就说明我们配置成功了。
最后,如果你需要校验protobuf文件的语法正确性,以及需要在AndroidStudio里编写Protobuf文件,你可以在File-Settings-Plugins里搜索Protobuf Support,添加Protobuf Support插件,当你重启后发现原来的.proto文件都变成这种图标,即说明支持插件已经引用成功了,阁下可以愉快的编程了。