【Android】Gradle 7.0+ 渠道打包配置

声明
该配置主要解决打包apk/aab需要动态修改渠道字段,方便区分渠道上架国内商店。
暂不支持批量打包(7.4版本无法通过只修改outputFileName的形式批量处理)
因为构建时需要拷贝/创建Output,然后修改outputFileName才能处理批量打包,但拷贝/创建在高版本中失效了

目前的操作需要再配置中修改渠道名(eg:Huawei),通过“Genderate Signed App Buyndle or APK” 打包时,会自动重命名,然后复制到同级目录下(防止下次打包会自动删除的问题)

打包流程:

1.编译完成后生成 xxx.apk

2.复制 xxx.apk 至 outputsDebug 文件夹

3.重命名文件为xxx_huawei.apk

该模式即便将huawei修改为xiaomi再次构建,xxx_huawei.apk也不会删除

如果 “Genderate Signed App Buyndle or APK” 中配置了 debug/release等形式,

也会自动区分,并且输出对应的文件夹,例如:outputsDebug / outputsRelease


本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/web/58490.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AndroidLab:一个系统化的Android代理框架,包含操作环境和可复现的基准测试,支持大型语言模型和多模态模型。

2024-10-31,由清华大学和北京大学共同创建的AndroidLab数据集,为安卓自主代理的训练和评估提供了一个包含操作环境、行动空间和可复现基准的系统框架,这对于推动安卓代理技术的发展具有重要意义。 数据集地址:Android Instruct|A…

HTTP请求和请求体Body

HTTP 请求体(Request Body)是 HTTP 请求的一个重要组成部分,它位于请求头(Headers)之后,用于向服务器发送数据。请求体通常用于 POST 和 PUT 请求中,但在某些情况下也可以用于其他类型的请求&am…

如何在算家云搭建Aatrox-Bert-VITS2(音频生成)

一、模型介绍 ‌ Aatrox - Bert -VITS2 模型是一种基于深度学习的语音合成系统,结合了 BERT 的预训练能力和 VITS2 的微调技术,旨在实现高质量的个性化语音合成。 二、模型搭建流程 1. 创建容器实例 进入算家云的“应用社区”,点击搜索找到…

OpenEuler 使用ffmpeg x11grab捕获屏幕流,rtsp推流,并用vlc播放

环境准备 安装x11grab(用于捕获屏幕流)和libx264(用于编码) # 基础开发环境&x11grab sudo dnf install -y \autoconf \automake \bzip2 \bzip2-devel \cmake \freetype-devel \gcc \gcc-c \git \libtool \make \mercurial \pkgconfig \zlib-devel \libX11-devel \libXext…

深度学习:Masked Self-Attention 详解

Masked Self-Attention 详解 Masked Self-Attention 是 Transformer 架构中解码器的关键组件,特别用于处理自回归任务,如文本生成。该机制确保模型在生成一个序列的每个元素时只能利用之前元素的信息,防止未来信息的泄露。以下是对 Masked S…

QCustomPlot添加自定义的图例,实现隐藏、删除功能(二)

文章目录 QCustomPlot初识和基本效果图实现步骤:详细代码示例:实现原理和解释:使用方法:其他参考要实现一个支持复选框来控制曲线显示和隐藏的自定义 QCPLegend 类,可以通过继承 QCPLegend 并重写绘制和事件处理方法来实现,同时发出信号通知曲线的状态变更。 QCustomPl…

聊一聊Elasticsearch的基本原理与形成机制

1、搜索引擎的基本原理 通常搜索引擎包括:数据采集、文本分析、索引存储、搜索等模块,它们之间的协作流程如下图: 数据采集模块负责采集需要搜索的数据源。 文本分析模块是将结构化数据中的长文本切分成有实际意义的词,这样用户…

《AI 大模型重塑软件开发:机遇与挑战》

《AI 大模型重塑软件开发:机遇与挑战》 在当今科技飞速发展的时代,AI 技术的不断进步正深刻地改变着各个领域,软件开发行业也不例外。AI 大模型的出现,正在重塑软件开发流程,为软件开发者、企业以及整个产业链带来了深…

PyCharm 导入本地包目录

PyCharm 是最新版 声明一下是野路子 现在我工程目录下有个 gen-py 文件夹,这是我 thrift 编译出来的 Python 依赖包 使用的话,我们可以在代码里加入系统路径 sys.path.append("./gen-py/") 但是这样写,PyCharm 没有提示&#…

80端口被进程 System PID=4 IIS导致的解决方法

是因为80端口被IIS占用。解决办法打开IIS管理器,然后停止:

Linux 有名管道

有名管道(Named Pipe),也称为FIFO(First In, First Out),是一种特殊的文件系统对象,它允许不相关的进程之间的通信。与无名管道不同,有名管道在文件系统中有一个路径名,因…

异步4位计数器(Quartus与Modelsim联合仿真)

异步计数器(也称为ripple-through counter)的特点是每一位触发器的输出作为下一位触发器的时钟输入,因此计数速度会因为级联触发器的传播延迟而受到限制。这种计数器的最大工作频率通常低于同步计数器。 一、电路符号 输入信号:时…

PS-基础学习(常用快捷键1.2-1.3)

常用快捷键 钢笔操作功能Alt 选择工具使用选择工具放到锚点上,按下alt,然后放到调整曲度的上面,可以修改一边的曲度可以修改出不平滑的转折点选择工具放到锚点上进行拖拽可以移动锚点的位置ctrl 选择工具使用选择工具,按住ctrl…

若依cloud版集成微信扫码登录-绑定篇

前言 集成微信扫码登录的话,需要把项目的账号和微信账号进行绑定,然后才可以进行扫码登录 本篇内容是项目绑定微信 还需要申请一个微信开放平台账号 微信公众平台申请(测试平台)-CSDN博客 平台的项目回调接口可以先不写&…

鸿蒙应用App测试-通用测试

注意:大家记得学完通用测试记得再学鸿蒙专项测试 鸿蒙应用App测试-专项测试(DevEco Testing)-CSDN博客 注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得…

Docker 容器网络模式详解

Docker 容器网络模式详解 1.1 引言 1.1.1 Docker 网络简介 Docker 是一个开源的应用容器引擎,它允许开发者将应用和依赖打包到一个可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以实现虚拟化。容器采用沙箱机制,彼此…

100种算法【Python版】第53篇——无损压缩之LZW算法

本文目录 1 算法步骤2 算法示例3 算法应用3.1 压缩字符串3.1 压缩图像Lempel-Ziv-Welch (LZW) 是一种无损数据压缩算法,广泛应用于图像格式(如 GIF)和其他文件格式。LZW 通过查找输入数据中的重复子串,并使用短码替换这些子串,从而实现压缩。 1 算法步骤 (1)初始化字典…

Linux 配置JDK

文章目录 一、下载Oracle-JDK1.1、如何正确的下载JDK二、配置JDK环境变量2.1 环境变量配置2.1.1、修改vim /etc/profile 添加jdk的路径一、下载Oracle-JDK 1.1、如何正确的下载JDK 首先我要安装的是oracle-jdk,这个时候什么地方都不要去,就去oracle的官网,然后找到,jdk的下…

EasyExcel 学习之 导出 “提示问题”

EasyExcel 学习之 导出 “提示问题” 现象分析解决(伪代码)前端 POST 实现后端实现 现象 EasyExcel 支持导出 xlsx、xls、csv 三种文件格式。在导出过程中可能发生各种异常,当发生异常时应该提示错误信息而非导出一个错误的文件。 分析 首…

springBoot 自动配置与starter

目录 一、自动配置 Springboot实现自动配置的核心机制 Conditional的作用是什么? 如何自定义自动配置? 步骤 例子分析 自动配置的优先级 如何禁用特定的自动配置? 二、starter 如何理解Spring Boot中的starter? 如何自…