Android 项目工程配置签名文件

1. Android签名证书(.keystore)

  Android平台打包发布apk应用,需要使用数字证书(.keystore文件)进行签名,用于表明开发者身份。
  Android证书的生成是自助和免费的,不需要审批或付费。
  可以使用JRE环境中的keytool命令生成。以下是windows平台生成证书的方法

1.1. 生成签名证书

  使用cmd命令生成证书:

keytool -genkey -alias testalias -keyalg RSA -keysize 2048 -validity 36500 -keystore testalias.keystore

  testalias是证书别名,可修改为自己想设置的字符,建议使用英文字母和数字
  test.keystore是证书文件名称,可修改为自己想设置的文件名称,也可以指定完整文件路径
  36500是证书的有效期,表示100年有效期,单位天,建议时间设置长一点,避免证书过期

Enter keystore password:  //输入证书文件密码,输入完成回车  
Re-enter new password:   //再次输入证书文件密码,输入完成回车  
What is your first and last name?  [Unknown]:  //输入名字和姓氏,输入完成回车  
What is the name of your organizational unit?  [Unknown]:  //输入组织单位名称,输入完成回车  
What is the name of your organization?  [Unknown]:  //输入组织名称,输入完成回车  
What is the name of your City or Locality?  [Unknown]:  //输入城市或区域名称,输入完成回车  
What is the name of your State or Province?  [Unknown]:  //输入省/市/自治区名称,输入完成回车  
What is the two-letter country code for this unit?  [Unknown]:  //输入国家/地区代号(两个字母),中国为CN,输入完成回车  
Is CN=XX, OU=XX, O=XX, L=XX, ST=XX, C=XX correct?  [no]:  //确认上面输入的内容是否正确,输入y,回车  Enter key password for <testalias>  (RETURN if same as keystore password):  //确认证书密码与证书文件密码一样(HBuilder|HBuilderX要求这两个密码一致),直接回车就可以

在这里插入图片描述
在这里插入图片描述
  以上命令运行完成后就会生成证书,路径为生成路径。
  注意:上述信息填写要规范,乱填有可能会影响应用上架应用市场。

1.2. 查看证书信息

keytool -list -v -keystore testalias.keystore  
Enter keystore password: //输入密码,回车

2. 配置指定的签名文件

2.1. Android studio给项目工程配置指定的签名文件

  项目只要打包生成Apk时,一定是需要签名文件的,当我们打debug包时只不过是默认的用了系统给的签名文件而已,如果我们想给自己的项目指定特定的签名文件改如何呢?
  步骤:【File→Project Structure→Moduls→app→Signing Configs】(快捷键Ctrl+Shift+Alt+S)
在这里插入图片描述
  查看build.gradle中多了:

    signingConfigs {getByName("debug") {enableV1Signing =trueenableV2Signing =trueenableV3Signing =trueenableV4Signing =truestoreFile = file("./keystore/insour_szyj.keystore")storePassword = "insour_szyj"keyAlias = "insour_szyj"keyPassword = "insour_szyj"}}

2.2. 给相应的包配置对应的签名文件,debug或者release包:

在这里插入图片描述
  查看build.gradle中多了:

 buildTypes {debug {
//            minifyEnabled false//混淆minifyEnabled trueshrinkResources true// 不显示LogbuildConfigField "boolean", "LOG_DEBUG", "false"proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'aaptOptions.cruncherEnabled = falseaaptOptions.useNewCruncher = falseapkName = "szyj.apk"signingConfig signingConfigs.release}release {
//            minifyEnabled false//混淆minifyEnabled trueshrinkResources true// 不显示LogbuildConfigField "boolean", "LOG_DEBUG", "false"proguardFiles getDefaultProguardFile('proguard-android.txt'),'proguard-rules.pro'aaptOptions.cruncherEnabled = falseaaptOptions.useNewCruncher = falseapkName = "szyj.apk"signingConfig signingConfigs.release}}

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

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

相关文章

【UML建模】部署图(Deployment Diagram)

1.概述 部署图是一种结构图&#xff0c;用于描述软件系统在不同计算机硬件或设备上的部署和配置情况&#xff0c;以图形化的方式展示系统中组件、节点和连接之间的物理部署关系。 通过部署图&#xff0c;可以清晰地了解系统的物理结构和部署方式&#xff0c;包括系统组件和节…

使用免费工具在 Windows 11/10/8/7 中扩展 C 盘的 3 种方法

越来越多的Windows 10笔记本电脑和台式机使用SSD作为系统盘&#xff0c;这对于提高计算机性能很有用&#xff0c;因为SSD的读写速度要快得多。但另一方面&#xff0c;SSD价格更高&#xff0c;因此比传统机械硬盘体积更小。当然C盘空间不足的可能性更大。在这种情况下&#xff0…

在Docker中安装和配置InfluxDB,设置SSL和密码保护

在Docker中安装和配置InfluxDB&#xff0c;设置SSL和密码保护 引言 InfluxDB是一个开源的时间序列数据库&#xff0c;常用于存储和查询大量时序数据。通过使用Docker&#xff0c;我们可以轻松地部署和管理InfluxDB容器&#xff0c;并配置SSL以及设置用户名和密码进行保护。本博…

四种“栈溢出检测方法”实现分析(2种纯软件、一种纯硬件、一种软硬件结合)

1、两种纯软件的栈溢出检测方法 参考博客&#xff1a;《freeRTOS的栈溢出检测机制》&#xff1b; 2、纯硬件&#xff1a;使用栈限制寄存器 2.1、工作逻辑分析 前提条件&#xff1a;使用满减栈硬件上提供栈限制寄存器&#xff08;用SP_limit表示&#xff09;&#xff0c;可以…

如何将支持标准可观测性协议的中间件快速接入观测

前言 作为一名云原生工程师&#xff0c;如何将支持标准可观测性协议的中间件快速接入观测云呢&#xff1f;答案是只需要三步。 首先&#xff0c;需要确定您要观测的中间件类型。支持标准可观测性协议中间件可通过观测云的 DataKit 采集到中间件的关键指标。有些中间件自带可观…

【c++】入门3

引用 1.swap交换两个变量值的时候可以用引用 2.例题中通过前序遍历数组构建二叉树&#xff0c;可以用引用传别名. #include <stdio.h> #include <stdlib.h> typedef struct BinaryTreeNode {char data;struct BinaryTreeNode* left;struct BinaryTreeNode* right; …

八、Lua脚本详解—— 超详细操作演示!

八、Lua脚本详解 —— 超详细操作演示&#xff01; 八、Lua脚本详解8.1 Lua 简介8.2 Linux 系统的Lua8.2.1 Lua 下载8.2.2 Lua 安装8.2.3 Hello World 8.3 Win 系统的Lua8.4 Lua 脚本基础8.4.1 注释8.4.2 数据类型8.4.3 标识符8.4.4 运算符8.4.5 函数8.4.6 流程控制语句8.4.7 循…

MinIO 批处理框架添加了对过期时间的支持

您现在可以使用 MinIO 批处理框架执行 S3 删除操作&#xff0c;以通过单个 API 请求删除大量对象。借助 MinIO 批处理框架&#xff0c;可以快速轻松地在 MinIO 部署中执行重复或批量操作&#xff0c;例如批量复制和批量密钥轮换。MinIO 批处理框架处理所有手动工作&#xff0c;…

【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 运行环境搭建

【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 概述-CSDN博客 【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 运行环境搭建-CSDN博客 【大数据进阶第二阶段之Hadoop学习笔记】Hadoop 运行模式-CSDN博客 1、模板虚拟机环境准备 1.1、 hadoop100 虚拟机配置要求如下 &…

小兔鲜儿 uniapp - 项目打包

目录 微信小程序端​ 核心步骤​ 步骤图示​ 条件编译​ 条件编译语法​ 打包为 H5 端​ 核心步骤​ 路由基础路径​ 打包为 APP 端​ 微信小程序端​ 把当前 uni-app 项目打包成微信小程序端&#xff0c;并发布上线。 核心步骤​ 运行打包命令 pnpm build:mp-weix…

Java 如何实现微信支付功能代码示例

微信支付是由中国的腾讯公司推出的一种移动支付方式。它允许用户通过在微信应用中绑定银行卡或其他支付方式来进行交易&#xff0c;包括在线购物、转账、付款码支付等。微信支付的特点包括便捷、安全、快速和全面&#xff0c;使用户可以随时随地完成交易。用户可以通过扫描商家…

openGauss学习笔记-187 openGauss 数据库运维-常见故障定位手段

文章目录 openGauss学习笔记-187 openGauss 数据库运维-常见故障定位手段187.1 操作系统故障定位手段187.2 网络故障定位手段187.3 磁盘故障定位手段187.4 数据库故障定位手段 openGauss学习笔记-187 openGauss 数据库运维-常见故障定位手段 187.1 操作系统故障定位手段 查询…

【Element】el-form和el-table嵌套实现表格编辑并提交表单校验

一、背景 页面需要用到表格采集用户数据&#xff0c;提交时进行表单校验&#xff1b;即表格中嵌套着表单&#xff0c;保存时进行表单校验 二、功能实现 2.1、el-form和el-table嵌套说明 ① :model"formData" 给表单绑定数据&#xff0c;formData是表单的数据对象 …

springboot、spring-kafka、kafka-client的版本对应关系

在使用springboot集成kafka的时候需要注意springboot版本、引用的依赖spring-kafka版本和kafka中间件版本的对应关系&#xff0c;否则可能会因为版本不兼容导致出现错误。 1、含义说明&#xff08;摘自官网&#xff09; Spring Boot&#xff1a;是springboot的版本。Spring fo…

设计模式——最全梳理,最好理解

新年献礼&#xff01; 设计模式呕心梳理 创建型模式 单例模式&#xff08;Singleton Pattern&#xff09;https://blog.csdn.net/qq_34869143/article/details/134874044 整理中... 结构型模式 代理模式&#xff08;Proxy Pattern&#xff09;https://blog.csdn.net/qq_34…

任务调度实现

一、定时任务概述 在项目中开发定时任务应该一种比较常见的需求&#xff0c;在 Java 中开发定时任务主要有三种解决方案&#xff1a;一是使用JDK 自带的 Timer&#xff0c;二是使用 Spring Task&#xff0c;三是使用第三方组件 Quartz Timer 是 JDK 自带的定时任务工具,其简单易…

解决:Microsoft Visual C++ 14.0 is required.

Microsoft Visual C 14.0 is required. Get it with “Microsoft Visual C Build Tools 当我们安装绝大部分python包的时候可以通过pip install 或者 conda install解决&#xff0c;但是任然有些包是安装不了的&#xff0c;比如我的就是在安装pyqt5的时候报Building wheel for…

基于MyCat2.0实现MySQL分库分表方案

目录 一、MyCat概述 二、MyCat作用 2.1 数据分片 2.1.1 垂直拆分 2.1.1.1 垂直分库 2.1.1.2 垂直分表 2.1.1.3 总结 2.1.2 水平拆分 2.1.2.1 水平分库 2.1.2.2 水平分表 2.1.2.3 总结 2.2 读写分离 2.3 多数据源整合 三、MyCat 与ShardingJDBC的区别 3.1 MyCat …

某大型电商APP sign头部签名逆向分析

APP版本 唯品会 7.45Java层抓包分析 打开抓包工具 charles进行分析&#xff0c;可以发现对于API采集需要突破当前这个参数&#xff0c;否则不返回信息 jadx静态分析 jadx静态分析&#xff0c;打开app搜索关键词api_sign&#xff0c;可以发现有参数位置 跟进去上边str赋值方…

phpstudy_pro 关于多版本php的问题

我在phpstudy中安装了多个PHP版本 我希望不同的网站可以对应不同的PHP版本&#xff0c;则在nginx配置文件中需要知道不同的PHP版本的监听端口是多少&#xff0c;如下图所示 然而找遍了php.ini配置&#xff0c;并未对listen进行设置&#xff0c;好奇是怎么实现不同的PHP监听不同…