android studio 2021 protobuf格式数据读取

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格式数据了。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值