-
安装,执行命令
brew install protoc
-
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日再次更新 可以直接使用官网的最新安装命令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 如果还是不行的话可以上官网看看:HomeBrew官网 只不过官网非常慢,推荐使用下面的解决方案 |
-
安装完成输入命令验证
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 代码
方法一:
-
打开AS的Terminal终端,输入命令,以图为例
protoc --java_out=src/main/java/ --proto_path=src/main/proto student.proto
-
如上图就会在指定的java包名下生成咱们指定的StudentB这个java类.
方法二(未测试):
-
运行 Gradle 的任务以生成 Java 代码。你可以在 Android Studio 的右侧
Gradle
选项卡中找到你的项目,展开Tasks
->other
->protobuf
,然后双击generateProto
任务运行。 -
或者,可以在终端或命令行中进入你的项目根目录,运行以下命令:
./gradlew generateProto
这将使用 Protocol Buffers 插件生成 Java 代码。
-
在 Android 项目中使用生成的类