一、原因:android项目中要用到底层底层给定的protobuf接口,但如何解析或者说如何使用不懂,故咨询一波。
二、已查到的相关资料:
1、定义:Protocol Buffers(也称protobuf)是google旗下一款独立于开发语言,独立于平台的可扩展的结构化数据序列机制。简单来说,就是像json、xml这种用来传输数据的一种数据交互协议。不过,相比与json、xml,protobuf更加轻便与高效。
更多详细资料可查看官网:
2、入门级别博客:
https://blog.youkuaiyun.com/mnb65482/article/details/80466536
这个博客目前看比较详细https://blog.youkuaiyun.com/Calvin_zhou/article/details/80830610
https://blog.youkuaiyun.com/qq_33890656/article/details/56845613
如下这个链接可能对后面使用更有效
https://blog.youkuaiyun.com/zhtttyyzc/article/details/88554911
发现的几篇后面应该去跟着尝试做一下的博客:
http://www.gaohaiyan.com/2134.html
https://www.jianshu.com/p/df200894f5da
https://www.cnblogs.com/angrycode/p/6238058.html
https://gqdy365.iteye.com/blog/2163076
3、我按照访问量最高,看了很多博客差不多的进行操作,决定据此进行配置,https://www.jianshu.com/p/fcf7f8cc0d8d
试着配置完,发现如下问题,多次修改设置,编译仍然无法通过,该bug仍然无法消退
org.gradle.api.tasks.TaskValidationException: A problem was found with the configuration of task ':app:generateDebugProto'.
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.report(ValidatingTaskExecuter.java:66)
at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:53)
at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:119)
at org.gradle.api.internal.tasks.execution.ResolvePreviousStateExecuter.execute(ResolvePreviousStateExecuter.java:43)
at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:93)
at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:45)
at org.gradle.api.internal.tasks.execution.ResolveTaskArtifactStateTaskExecuter.execute(ResolveTaskArtifactStateTaskExecuter.java:94)
at org.gradle.api.inter