【Android】配置Gradle打包apk的环境

目录

生成jks签名文件

 配置build.gradle(app)

打包 


生成jks签名文件

Java 密钥库(.jks 或 .keystore)是用作证书和私钥存储库的二进制文件。用于为用户设备上安装的 APK 签名的密钥。

详细解释请看官方文档:

为应用签名  |  Android Studio  |  Android Developers

在菜单栏中,依次点击 Build > Generate Signed Bundle/APK

Generate Signed Bundle or APK 对话框中,选择  APK,然后点击 Next。 

 Key store path 字段下,点击 Create new。 

选择秘钥文件保存的位置:

选择你当前项目的app位置,如:

填好剩余信息即可: 

 上面这步是用来打包的,我们只需要生成秘钥文件,现在不需要打包,取消即可。

通过下面这张图可以看到已经生成秘钥文件了,如果你的目录结构跟我的不一样,注意看图中的左上角,我选择的是Project的结构,你的应该是Android目录结构。如果你没有看到生成的秘钥文件,需要你鼠标右键app目录,选择Reload from Disk刷新下即可。 

 配置build.gradle(app)

我们需要先在项目的根目录新建一个keystore.properties文件,这个文件是用来将秘钥信息给抽离出来的。

storeFile=
storePassword=
keyAlias=
keyPassword=

接下来加载配置:

// 加载签名配置
def keystoreFile = rootProject.file('keystore.properties')
def keystore = new Properties()
keystore.load(new FileInputStream(keystoreFile))
// 签名配置
signingConfigs {config {storeFile file(keystore['storeFile'])storePassword keystore['storePassword']keyAlias keystore['keyAlias']keyPassword keystore['keyPassword']}
}

配置好了后还需要在对应的包上使用,项目创建的时候提供好了一个release包,比如在release包中使用这个签名。

到这里就配置完了,那么如何打包呢?

打包 

android studio已经提供了gradle的工具了,可以直接使用,看下图。  

如果说你没有这些Tasks,请按照下图设置下,关闭android studio再打开即可。

打包后的apk位置:

当然你也可以自定义打包后的apk文件名:

//自定义打包时apk名字
android.applicationVariants.all { variant ->variant.outputs.all {outputFileName = "app${variant.versionName}.apk"}
}

 效果:


👍点赞,你的认可是我创作的动力 !
🌟收藏,你的青睐是我努力的方向!
✏️评论,你的意见是我进步的财富!  

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

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

相关文章

11月15日星期三今日早报简报微语报早读

1、2023胡润女企业家榜出炉:郭得胜夫人邝肖卿首次成为中国女首富,龙湖吴亚军蝉联中国白手起家女首富; 2、叶剑英元帅夫人吴博逝世,享年106岁; 3、外交部:所谓“联合国军”是冷战产物,于法无据…

计算机毕设 深度学习 大数据 股票预测系统 - python lstm

文章目录 0 前言1 课题意义1.1 股票预测主流方法 2 什么是LSTM2.1 循环神经网络2.1 LSTM诞生 2 如何用LSTM做股票预测2.1 算法构建流程2.2 部分代码 3 实现效果3.1 数据3.2 预测结果项目运行展示开发环境数据获取 最后 0 前言 🔥 这两年开始毕业设计和毕业答辩的要…

【开源】基于Vue和SpringBoot的快乐贩卖馆管理系统

项目编号: S 064 ,文末获取源码。 \color{red}{项目编号:S064,文末获取源码。} 项目编号:S064,文末获取源码。 目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 数据中心模块2.2 搞笑视频模块2.3 视…

RGB、ARGB、CMYK、HSV、Lab和YUV色彩模型详细解析

引言 色彩模型是用来描述和表示颜色的数学模型,广泛应用于计算机图形学、数字图像处理、印刷行业等领域。了解不同的色彩模型对于设计师、艺术家和工程师来说至关重要,因为它们可以帮助我们理解和操纵颜色。本文将详细介绍常见的色彩模型,包…

策略模式-C++实现

策略模式(Strategy)是一种行为型设计模式,它允许你在运行时选择算法的行为。 策略模式有三个组件: 策略接口:定义了策略类必须实现的方法,它通常是以接口或者抽象类的方式存在具体策略类:实现…

SpringBoot+Redis+Lua

Lua脚本 Lua脚本在Redis中执行,避免了多次的客户端与服务器之间的通信。这可以减少网络开销,提高性能,特别是在需要执行多个Redis命令以完成一个操作时。原子性:Redis保证Lua脚本的原子性执行,无需担心竞态条件或并发…

抖音短视频账号矩阵系统、短视频矩阵源码+无人直播源码开发可打包

抖音短视频账号矩阵系统、短视频矩阵源码无人直播源码开发可打包 矩阵系统源码主要有三种框架:Spring、Struts和Hibernate。Spring框架是一个全栈式的Java应用程序开发框架,提供了IOC容器、AOP、事务管理等功能。Struts框架是一个MVC架构的Web应用程序框…

selenium报错:没有打开网页或selenium.common.exceptions.NoSuchDriverException

文章目录 问题解决方法 问题 当selenium的环境配置没有问题,但在使用selenium访问浏览器时并没有打开网页,或者出现selenium.common.exceptions.NoSuchDriverException报错信息(如下图所示)。 以上问题可能的原因是没有配置chrom…

第三天课程 RabbitMQ

RabbitMQ 1.初识MQ 1.1.同步和异步通讯 微服务间通讯有同步和异步两种方式: 同步通讯:就像打电话,需要实时响应。 异步通讯:就像发邮件,不需要马上回复。 两种方式各有优劣,打电话可以立即得到响应&am…

[云原生案例2.3 ] Kubernetes的部署安装 【多master集群架构高可用 ---- (二进制安装部署)】

文章目录 1. Kubernetes多Master集群高可用方案1.1 多节点Master高可用的实现过程1.2 实现高可用方法 2. 新Master节点的部署2.1 前置准备2.2 系统初始化操作2.2.1 关闭防火墙、selinux和swap分区2.2.2 修改主机名,添加域名映射2.2.3 修改内核参数2.2.4 时间同步 2.…

批量重命名软件推荐 A Better Finder Rename 12最新 for mac

A Better Finder Rename的大量重命名选项被组织成15个直观的类别,涵盖了一个伟大的文件重命名器所期望的所有文本,字符,位置,转换和截断功能。 除此之外,A Better Finder Rename提供了更多高级功能,可以满…

ATFX汇市:10月美国名义CPI年率大降,美元指数创近三月新低

ATFX汇市:据美国劳工部劳动统计局数据,美国10月未季调CPI年率最新值3.2%,低于前值3.7%,低于预期值3.3%;10月未季调核心CPI年率最新值4%,低于前置和预期值的4.1%。名义CPI与核心CPI双双下降,透露…

计算机网络的发展及应用

计算机网络是计算机技术和通信技术高度发展并相互结合的产物。一方面,通信系统为计算机之间的数据传送提供最重要的支持;另一方面,由于计算机技术渗透到了通信领域,极大地提高了通信网络的性能。计算机网络的诞生和发展&#xff0…

C++什么时候使用指针(函数传参时)

在C中,使用指针作为函数参数可以在以下几种情况下提高效率: 需要修改函数外部的变量:当函数需要修改传递给它的变量的值时,使用指针比传值更高效。因为通过指针传递变量的地址,函数可以直接修改变量的值,而…

音频——解析 PCM 数据

文章目录 生成 PCM 数据16bit16bit mono16bit stereo16bit 4 channel16bit 8 channel24bit解析 PCM 数据多通道相同频率解析多通道不同频率解析程序源码生成 PCM 源码解析 PCM 源码生成 PCM 数据 对于多通道的 PCM 数据,其数据格式如下 ch0_data0 ch1_data0 ch2_data0 ch3_d…

10 小时 RTX 4090 兑换券免费送!用户调研招募中

感谢各位读者长久以来对「HyperAI超神经」的支持与关注,为了进一步提升公众号的品质,为读者提供高质量内容,我们计划通过问卷调研的形式收集读者的感受与建议,从而有针对性地对「HyperAI超神经」的内容风格、呈现形式等方面进行调…

目标检测—Yolo系列(YOLOv1/2/v3/4/5/x/6/7/8)

目标检测概述 什么是目标检测? 滑动窗口(Sliding Window) 滑动窗口的效率问题和改进 滑动窗口的效率问题:计算成本很大 改进思路 1:使用启发式算法替换暴力遍历 例如 R-CNN,Fast R-CNN 中使用 Selectiv…

第十六章 文件服务

第十六章 文件服务 1 FTP Server 简介 解释 文件传输协议 是 TCP/IP协议组中的协议之一logo 作用 提供文件共享服务互联网上多的媒体资源和软件资源,绝大部分都是通过FTP服务器传递软件包 vsftpd基础 控制端口 command 21/tcp数据端口 data 20/tcpFTP Se…

Qt数据库之QSqlQueryModel

创建数据模型: QSqlQueryModel *qryModel; //数据模型 qryModelnew QSqlQueryModel(this);qryModel->setQuery("SELECT empNo, Name, Gender, Height, Birthday, Mobile, Province, City, Department, "" Education, Salary FROM employee ORDE…

在 Electron上安装better-sqlite3出错

错误问题 一直卡npm install --global windows-build-tools --vs2015 这一步 解决 安装:pnpm install better-sqlite3 --save安装命令 pnpm i -D electron-rebuild 手动运行:node_modules/.bin/electron-rebuild -f -w better-sqlite3 我直接在packa…