kotlin protobuffer

最近刚学习kotlin想做个简单的前后端沟通功能,传输数据使用proto,但是网上看了看将proto文件转成.kt文件好多都说需要改什么androd工程的build之类的东西,看着就好烦。

那有没有简单的直接一个命令行就生成kt文件的呢,当然有,当然用到的还是protoc,在加上pbandk。

1.下载最新版protoc,并将protoc加的系统path里(不是window则使用chmod +x protoc添加到全局)。

2.1 非windows系统下载pbandk,然后改名为protoc-gen-pbandk,并使用chmod +x protoc-gen-pkandk使其所有位置都可以使用。最后使用下面代码生成对应的kt文件。

protoc --pbandk_out=输出目录 需要解析的proto文件(带.proto)

2.2 windows系统下载最新protoc-gen-kotlin(zip文件),解压后找到其中protoc-gen-kotlin.bat文件,在proto文件目录位置(不在此目录下会提示需要使用–proto_path或-I参数添加proto所在路径)使用cmd运行下面命令行生成kt文件。

protoc --pbandk_out=输出目录 --plugin=protoc-gen-pbandk=pbank解压目录/protoc-gen-kotlin.bat 需要解析的proto文件(带.proto)

虽说protoc本来支持了kotlin解析成kt文件,但我用了那个命令生成的kt文件里面的结构体是什么都没有的。根本用不了。无奈只能用这个方法。但是这个生成的会多一个val unknownFields: Map<Int, pbandk.UnknownField> = emptyMap()

  data class xxx(
   ...
   val unknownFields: Map<Int, pbandk.UnknownField> = emptyMap()
  ):xxxx
  ...

但它不影响使用。

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值