android studio 2021 小蜜蜂版的build文件内格式发生了较大的变化,基于此问题,写了这个博客。
protobuf格式数据读取配置全部是在build.gradle中:
proto文件放这个位置
1.引入依赖,然后rebuild 一下,(build成功后进行下面的操作,注意顺序一定要先引入依赖)
implementation 'com.google.protobuf:protobuf-lite:3.0.0'
implementation 'com.google.protobuf:protobuf-gradle-plugin:0.8.17'
2.在plugins中加上:id ‘com.google.protobuf’ version “0.8.17”,如下,version 这个版本号要和第一步引入的版本相同(注意:这里的version可以不加,不报错就行,我这里不加就报错,必须得加上)
plugins {
id 'com.android.application'
id 'com.google.protobuf' version "0.8.17"
}
3.添加配置
protobuf {
protoc {
// You still need protoc like in the non-Android case
artifact = 'com.google.protobuf:protoc:3.7.0'
}
plugins {
javalite {
// The codegen for lite comes as a separate artifact
artifact = 'com.google.protobuf:protoc-gen-javalite:3.0.0'
}
}
generateProtoTasks {
all().each { task ->
task.builtins {
// In most cases you don't need the full Java output
// if you use the lite output.
remove java
}
task.plugins {
javalite { }
}
}
}
}
sourceSets {
main {
java {
srcDir 'src/main/java'
}
proto {
srcDir 'src/main/proto'
}
}
}
4.Tasks->other->extractTestDebugProto 执行一下(注意:我记不清是不是这个了,不行就把带“proto”的都执行一遍,也没有几个,直到出现对应的java文件,如下面第一个图)
5.引入成的java文件入import com.tyjw.uav.platform.common.protobuf.TelemetryDataPB;下面是一个小示例:
至此你已经可以读取http返回的protobuf格式数据了。