项目需要引用Protobuf在网上找了很多都无法使用,经过不懈的尝试,终于成功了
记录一下
第一步在项目的build.gradle中添加
dependencies {
classpath 'com.android.tools.build:gradle:3.2.1'
// protobuf相关
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.8.7'
}
第二步:在app或这module的build.gradle中添加
apply plugin: 'com.google.protobuf'
//编写编译任务,调用plugin编译生成java文件
protobuf {
protoc {
artifact = 'com.google.protobuf:protoc:3.6.1'
}
plugins {
javalite {
artifact = 'com.google.protobuf:protoc-gen-javalite:3.0.0'
}
}
generateProtoTasks {
all().each { task ->
task.builtins {
remove java
}
task.plugins {
javalite {}
}
}
}
}
android标签内添加
repositories {
flatDir {
dirs 'libs'
}
}
dependencies中添加
implementation 'com.google.protobuf:protobuf-lite:3.0.1'
最后在src/main下新建包proto,在proto包下创建.proto文件
编译之后就能在build中找到生成的文件了
最后附上.proto文件的内容
syntax = "proto3";
package bean;
message Person {
string name = 1;
int32 id = 2;
}