Android使用ProtoBuf 适配 gradle7.5 gradle8.0

embedded/2024/12/22 9:26:39/

ProtoBuf 适配 Gradle7.5

圆规

gradlewrapperproperties__3">gradle-wrapper.properties 配置

javascript">distributionUrl=https\://services.gradle.org/distributions/gradle-7.5-bin.zip

gradle_9">Project:build.gradle:

javascript">plugins {id 'com.android.application' version '7.4.2' apply falseid 'com.android.library' version '7.4.2' apply falseid 'com.google.protobuf' version '0.8.19' apply false
}

gradle_19">App:build.gradle:

proto文件

javascript">android {// android studio 生成 jniLibs 目录sourceSets {main {proto {// 指定.proto文件路径srcDir 'src/main/proto'include '**/*.proto'}}}
}dependencies {// 定义protobuf依赖implementation "com.google.protobuf:protobuf-java:3.6.1"
}protobuf {protoc {// //配置 protoc 编译器artifact = 'com.google.protobuf:protoc:3.6.1'}// 配置生成目录,编译后会在 build 的目录下生成对应的java文件generateProtoTasks {all().each { task ->task.builtins {remove java}task.builtins {java {}}}}
}

ProtoBuf 适配 Gradle8.0

gradlewrapperproperties__64">gradle-wrapper.properties 配置

javascript">distributionUrl=https\://services.gradle.org/distributions/gradle-8.0-bin.zip

gradle_70">Project:build.gradle:

javascript">plugins {id 'com.android.application' version '8.1.3' apply falseid 'com.android.library' version '8.1.3' apply falseid 'com.google.protobuf' version '0.9.3' apply false
}

gradle_79">App:build.gradle:

javascript">android {// android studio 生成 jniLibs 目录sourceSets {main {proto {// 指定.proto文件路径srcDir 'src/main/proto'include '**/*.proto'}}}
}protobuf {//配置 protoc 编译器protoc {artifact = 'com.google.protobuf:protoc:3.21.7'}//配置生成目录,编译后会在 build 的目录下生成对应的java文件generateProtoTasks {all().each { task ->task.builtins {remove java}task.builtins {java {}}}}
}dependencies {implementation 'com.google.protobuf:protobuf-java:3.21.7'//....
}

http://www.ppmy.cn/embedded/17056.html

相关文章

CrushFTP 服务器端模板注入漏洞复现(CVE-2024-4040)

0x01 产品简介 CrushFTP是由CrushFTP LLC开发的文件传输服务器软件。CrushFTP的主要用途是提供安全、可靠的文件传输服务。它允许用户通过多种协议(如FTP、SFTP、HTTP、WebDAV等)安全地上传、下载和管理文件。CrushFTP提供了许多安全特性,包括SSL/TLS加密、用户认证、目录权…

1小时学会SpringBoot3+Vue3前后端分离开发

首发于Enaium的个人博客 引言 大家可能刚学会Java和Vue之后都会想下一步是什么?那么就先把SpringBoot和Vue结合起来,做一个前后端分离的项目吧。 准备工作 首先你需要懂得Java和Vue的基础知识,环境这里就不多说了,直接开始。 …

小程序AI智能名片S2B2C商城系统:实现分销模式的四大要件深度解析

在当前的电商领域,小程序AI智能名片S2B2C商城系统正以其独特的分销模式,引领着行业创新的风潮。这种模式的成功,离不开四大核心要件:商品、机制、平台和运营。接下来,我们将对这四大要件进行深度解析。 首先&#xff0…

机器学习——过拟合

一、过拟合得表现 模型在训练过程中,除了会出现过拟合现象,还有可能出现欠拟合的情况。相比而言,后者通常发生在建模前期,只要做好特征工程一般可以解决模型欠拟合问题。下图描述了模型在训练数据集上的三种情况: 其…

如何解决IntelliJ IDEA 2024打开项目时频繁闪退问题

🐯 如何解决IntelliJ IDEA 2024打开项目时频繁闪退问题 🐾 文章目录 🐯 如何解决IntelliJ IDEA 2024打开项目时频繁闪退问题 🐾摘要引言正文📘 识别问题📙 内存配置调整步骤1: 定位vmoptions文件步骤2: 修改…

2024年大数据应用、智能控制与软件工程国际会议(BDAICSE2024)

2024年大数据应用、智能控制与软件工程国际会议(BDAICSE2024) 会议简介 我们诚挚邀请您参加2024年大数据应用、智能控制和软件工程国际会议(BDAICSE2024)。这次会议将在美丽的长沙市举行。 本次大会旨在汇聚全球大数据应用、智能控制、软件工程等领…

flink on k8s部署

在 Kubernetes 上部署一套 Flink 集群需要使用 Kubernetes 原生资源和工具,如 StatefulSet、Deployment、Service 等,或使用专门的 Flink Operator 来自动化和简化 Flink 集群的部署和管理。以下是一般的部署步骤: 使用 Flink Operator 部署 Flink 集群: 安装 Flink Opera…

【Win】怎么下载m3u8视频\怎么通过F12开发人员工具获取视频地址\怎么下载完整的.ts格式视频

怎么下载m3u8视频?首先通过浏览器本地的开发人员工具,获取m3u8的地址,然后再通过第三方下载工具下载,此处以N_m3u8DL-CLI_v3.0.2为例 如下图的步骤,即可获取到视频的m3u8地址 打开N_m3u8DL-CLI_v3.0.2,粘贴…