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日再次更新 可以直接使用官网的最新安装命令 /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)" 如果还是不行的话可以上官网看看:HomeBrew官网 只不过官网非常慢,推荐使用下面的解决方案 |

  1. 安装完成输入命令验证

    protoc --version

显示 libprotoc x.x (版本号)就安装成功了.

二、Android Studio 使用

1. 下载插件,缺少的就下载

2. 配置 Gradle

2.1 在 build.gradle 中添加插件依赖

打开你的项目的顶级 build.gradle 文件,在 buildscriptdependencies 下添加 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类.

方法二(未测试):

  1. 运行 Gradle 的任务以生成 Java 代码。你可以在 Android Studio 的右侧 Gradle 选项卡中找到你的项目,展开 Tasks -> other -> protobuf,然后双击 generateProto 任务运行。

  2. 或者,可以在终端或命令行中进入你的项目根目录,运行以下命令:

    ./gradlew generateProto
    

    这将使用 Protocol Buffers 插件生成 Java 代码。

  3. 在 Android 项目中使用生成的类

相关推荐
GEEKVIP5 小时前
Android 恢复挑战和解决方案:如何从 Android 设备恢复删除的文件
android·笔记·安全·macos·智能手机·电脑·笔记本电脑
逢生博客10 小时前
Mac 搭建仓颉语言开发环境(Cangjie SDK)
macos·华为·鸿蒙
Rverdoser13 小时前
MacOS Catalina 从源码构建Qt6.2开发库之01: 编译Qt6.2源代码
macos
GEEKVIP16 小时前
如何在没有备份的情况下恢复 Mac 上丢失的数据
经验分享·笔记·安全·macos·电脑·笔记本电脑·改行学it
yanling202316 小时前
黑神话悟空mac可以玩吗
macos·ios·crossove·crossove24
Vzhangs19 小时前
MacOS Sonoma(14.x) 大写模式或中文输入法下的英文模式,光标下方永远会出现的CapsLock箭头Icon的去除办法
macos
2401_852403551 天前
Mac导入iPhone的照片怎么删除?快速方法讲解
macos·ios·iphone
Vzhangs1 天前
MacOS Safari浏览器按ESC就退出全屏模式的去除办法
macos·safari
htt7892 天前
ARP:IP到MAC地址转换
服务器·tcp/ip·macos
名字不要太长 像我这样就好2 天前
【iOS】push和pop、present和dismiss
学习·macos·ios·objective-c·cocoa