【Android Protobuf 序列化】Protobuf 使用 ( protoc 编译器简介 | 下载 protoc 编译器 | 使用 protoc 编译器编译 .proto 源文件 )(一)

简介: 【Android Protobuf 序列化】Protobuf 使用 ( protoc 编译器简介 | 下载 protoc 编译器 | 使用 protoc 编译器编译 .proto 源文件 )(一)

文章目录

一、protoc 编译器简介

二、下载 protoc 编译器

三、使用 protoc 编译器编译 addressbook.proto 源文件

四、参考资料





一、protoc 编译器简介


在上一篇博客 【Android Protobuf 序列化】Protobuf 使用 ( Protobuf 使用文档 | 创建 Protobuf 源文件 | Protobuf 语法 ) 中 , 在 Android Studio 项目中添加了 Protobuf 源文件 addressbook.proto ;



使用 Protobuf 编译器 , 编译上述源文件 , 生成对应 Java 源码 ;


Protobuf 编译器是 protoc , 类似于 Java 语言的编译器是 javac , C 语言的编译器 gcc , Protobuf 语言的编译器是 protoc 编译器 , 编译上述源码 ;



protoc 编译器编译指令 :


protoc -I=$SRC_DIR --java_out=$DST_DIR $SRC_DIR/addressbook.proto


-I 参数设置编译的 .proto 源文件所在的目录 ;


--java_out= 参数指定的是输出目录 ;


最后的参数是设置的 .proto 源文件的相对目录 ;



使用 --java_out= 参数指定的是输出 Java 源文件 , Android 中使用 ;


使用 --objc_out= 参数指定的是输出 Objective-C 源文件 , iOS 中使用 ;






二、下载 protoc 编译器


https://developers.google.com/protocol-buffers/docs/downloads 页面可以下载 Protobuf , 点击 " Latest Version " 的 " release page " 下载最近的发布版本 ;

image.png



跳转到 https://github.com/protocolbuffers/protobuf/releases 界面下载对应的 Protobuf 版本 ;


下载 Windows 64 位对应的工具 ,


image.png

目录
相关文章
|
6月前
|
存储 缓存 Android开发
安卓Jetpack Compose+Kotlin, 使用ExoPlayer播放多个【远程url】音频,搭配Okhttp库进行下载和缓存,播放完随机播放下一首
这是一个Kotlin项目,使用Jetpack Compose和ExoPlayer框架开发Android应用,功能是播放远程URL音频列表。应用会检查本地缓存,如果文件存在且大小与远程文件一致则使用缓存,否则下载文件并播放。播放完成后或遇到异常,会随机播放下一首音频,并在播放前随机设置播放速度(0.9到1.2倍速)。代码包括ViewModel,负责音频管理和播放逻辑,以及UI层,包含播放和停止按钮。
|
7月前
|
开发工具 Android开发 git
Windows下载android2.2完整源码(转)
Windows下载android2.2完整源码(转)
91 3
|
7月前
|
敏捷开发 Java 机器人
云效产品使用常见问题之打包后的Android应用获取下载地址失败如何解决
云效作为一款全面覆盖研发全生命周期管理的云端效能平台,致力于帮助企业实现高效协同、敏捷研发和持续交付。本合集收集整理了用户在使用云效过程中遇到的常见问题,问题涉及项目创建与管理、需求规划与迭代、代码托管与版本控制、自动化测试、持续集成与发布等方面。
|
4月前
|
Ubuntu 开发工具 Android开发
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
本文介绍了在基于Ubuntu 22.04的环境下配置Python 3.9、安装repo工具、下载和同步AOSP源码包以及处理repo同步错误的详细步骤。
246 0
Repo下载AOSP源码:基于ubuntu22.04 环境配置,android-12.0.0_r32
|
2月前
|
Java 程序员 开发工具
Android|修复阿里云播放器下载不回调的问题
虽然 GC 带来了很多便利,但在实际编码时,我们也需要注意对象的生命周期管理,该存活的存活,该释放的释放,避免因为 GC 导致的问题。
36 2
|
7月前
|
Java Android开发
android 下载图片的问题
android 下载图片的问题
47 3
|
4月前
|
开发工具 uml git
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
本文分享了下载AOSP源码的方法,包括如何使用repo工具和处理常见的repo sync错误,以及配置Python环境以确保顺利同步特定版本的AOSP代码。
495 0
AOSP源码下载方法,解决repo sync错误:android-13.0.0_r82
|
4月前
|
API 开发工具 Android开发
Android源码下载
Android源码下载
509 0
|
4月前
|
存储 监控 数据库
Android经典实战之OkDownload的文件分段下载及合成原理
本文介绍了 OkDownload,一个高效的 Android 下载引擎,支持多线程下载、断点续传等功能。文章详细描述了文件分段下载及合成原理,包括任务创建、断点续传、并行下载等步骤,并展示了如何通过多种机制保证下载的稳定性和完整性。
124 0