Mac 安装 protobuf 和Android Studio 使用
1. 安装,执行命令
brew install protoc
2. Mac 错误提示:zsh: command not found: brew解决方法
解决方法:mac 安装homebrew,
用以下命令安装,序列号选择中科大(1)或 阿里云
/bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"
2022年4月27日再次更新 可以直接使用官网的最新安装命令 只不过官网非常慢,推荐使用下面的解决方案 |
3. 安装完成输入命令验证
protoc --version
显示 libprotoc x.x (版本号)就安装成功了.
二、Android Studio 使用
1. 下载插件,缺少的就下载
2. 配置 Gradle
2.1 在 build.gradle
中添加插件依赖
打开你的项目的顶级 build.gradle
文件,在 buildscript
的 dependencies
下添加 Protocol Buffers 插件依赖:
buildscript {
repositories {
google()
// 其他仓库...
}
dependencies {
classpath 'com.google.protobuf:protobuf-gradle-plugin:0.9.4'
// 其他依赖...
}
}
2.2 应用插件
在你的 app 模块的 build.gradle
文件中应用 Protocol Buffers 插件,并指定 protobuf 文件的位置:
-
apply plugin: 'com.android.application' apply plugin: 'com.google.protobuf' android { // protobuf依赖的3.22.0之后版本必须要求添加, // 使用protobuf低版本依赖生成的java文件中有报错. compileOptions { sourceCompatibility 1.8 targetCompatibility 1.8 } // 其他配置... } //这里暂未使用,也没有配置 start protobuf { protoc { // 指定 Protobuf 编译器的版本 artifact = 'com.google.protobuf:protoc:编译器版本号' } // 设置 protobuf 文件的路径 // 示例路径,根据你的实际情况更改 generatedFilesBaseDir = "$projectDir/src/main/java" } //这里暂未使用,也没有配置 start dependencies { //添加protobuf依赖 implementation 'com.google.protobuf:protobuf-java:3.24.4' implementation 'com.google.protobuf:protoc:3.24.4' //implementation 'com.google.protobuf:protobuf-javalite:3.24.4' }
3. 编写 .proto 文件
在src/main/下面新建 proto目录,用来编写.proto文件
4. 生成 Java 代码
方法一:
1. 打开AS的Terminal终端,输入命令,以图为例
protoc --java_out=src/main/java/ --proto_path=src/main/proto student.proto
2. 如上图就会在指定的java包名下生成咱们指定的StudentB这个java类.
方法二(未测试):
-
运行 Gradle 的任务以生成 Java 代码。你可以在 Android Studio 的右侧
Gradle
选项卡中找到你的项目,展开Tasks
->other
->protobuf
,然后双击generateProto
任务运行。 -
或者,可以在终端或命令行中进入你的项目根目录,运行以下命令:
./gradlew generateProto
这将使用 Protocol Buffers 插件生成 Java 代码。
5. 在 Android 项目中使用生成的类