这是【Android 教程系列第 25 篇】,如果觉得有用的话,欢迎关注专栏。

Android Studio 版本:Arctic Fox 2020.3.1 Pathc 3,这里我新建了一个安卓项目,剩下的按照步骤操作即可。

文章目录

  • 一:生成 keystore 签名文件
  • 二:获取 keystore 签名文件的配置信息
  • 三:配置 / 新增 build.gradle 的签名信息
  • 四:验证是否签名成功

一:生成 keystore 签名文件

第一步 依次点击 Build - Generate Signed Bundle/Apk...(生成签名)

第二步 选择 APK 选项,点击按钮 Next 到下一步

第三步 选择新建 key store(密钥存储库)

第四步 按如下提示新建 key store

后缀名这里我指定为了 jks ,只是为了能方便看出来这是通过 Android Studio 方式签名,你也可以指定后缀名为 keystore。

如果你点击 ok 后提示 error 警告:PKCS12 密钥库不支持其他存储和密钥命令,正在忽略用户指定的-keypass值。

可能是你的 key store 的密码和别名的密码不一致的原因。

然后在你指定的路径下会生成如下的 jks 文件。

当你新建一个 key store 完成后,会自动返回到如下界面,并自动填充你新建 key store 的密码,以及其别名和别名的密码,如下图所示

最后一步 ,点击 Finish 按钮后等待 Android Studio 自动构建应用签名。

提示如下图所示内容就是构建应用签名成功了

二:获取 keystore 签名文件的配置信息

在终端执行如下命令

keytool -list -v -keystore 你的 keystore 文件的绝对路径

输入 keystore 的密码后,就可以在终端上看到 keystore 签名文件的配置信息了,如下图所示

SHA1 的值在我们申请第三方 SDK(如微信支付)时就需要用到,配置信息中其它的参数都有中文释义,大家一看便知。

三:配置 / 新增 build.gradle 的签名信息

到目前为止,我们只是生成了密钥库,如果想要把它加入到项目中,还需要在项目的 build.gradle 文件中配置一下。

依次点击 File - Project Structure - Module - app - Signing Configs,如下图所示

点击按钮 ok 后,Android Studio 会自动在 build.gradle 模块中添加签名信息,如下图所示

当前是 debug 模式的签名,如果想要添加 release 模式下的签名,则需要在 File - Project Structure - Module - app - Signing Configs 中点击加号按钮,

新添加的配置名称设置为 release ,然后输入 keystore 的路径,别名,密码等信息即可,配置后如下图所示

可以看到,新增加的 release 签名和前面的 debug 签名信息除了名称不一样外,其它都是一样的,所以你也可以直接复制 debug 的签名,然后更改签名名称即可,这里只是说下新增签名信息的流程。

四:验证是否签名成功

第一步我们在生成签名后,也在 app - release 文件夹下生成了一个 release 版的 apk 包,如下图所示

在终端使用命令

keytool -printcert -jarfile 安装包路径.apk

如下图所示

你的问题得到解决了吗?欢迎在评论区留言。

赠人玫瑰,手有余香,如果觉得文章不错,希望可以给个一键三连,感谢。


结束语

技术是一点一点积累的,大神也不是一天就可以达到的。原地不动就是退步,所以每天进步一点点。

最后,附上一句格言:"好学若饥,谦卑若愚",望共勉。

【Android 教程系列第 25 篇】如何使用 Android Studio 生成 keystore 签名文件相关推荐

  1. 【Android 教程系列第 24 篇】在 Android Studio 中清理缓存的两种方式

    这是[Android 教程系列第 24 篇],如果觉得有用的话,欢迎关注专栏. 一:问题描述 昨天的安卓项目还好好的,今天早上打开的时候说我引入 R 文件还有其它的类出现了错误,然后点击任意一个类几乎 ...

  2. 【Android 教程系列第 14 篇】Android 系统版本和 API 等级对应关系表(持续更新)

    这是[Android 教程系列第 14 篇],如果觉得有用的话,欢迎关注专栏. 很多人记不住 Android 系统版本和 API 等级对应的关系,这里我以 官网文档 和 安卓版本历史(维基百科) 为参 ...

  3. 【Android 教程系列第 31 篇】通过 adb install 命令安装 apk 时提示 signatures do not match previously installed version

    这是[Android 教程系列第 31 篇],如果觉得有用的话,欢迎关注专栏. 遇到的一个小问题,做下记录. 一:问题描述 在使用 adb install 命令安装 apk 时,提示的内容如下 主要提 ...

  4. 【Android 教程系列第 23 篇】 java 方法之间怎么添加分割线

    这是[Android 教程系列第 23 篇],如果觉得有用的话,欢迎关注专栏. 先来看一下添加前和添加后的对比情况,如下两图所示 一:添加前效果 二:添加后效果 可以看到在方法之间添加了分割线后,看起 ...

  5. 【Android 教程系列第 27 篇】如何使用 Keytool 工具生成 keystore 签名文件

    这是[Android 教程系列第 27 篇],如果觉得有用的话,欢迎关注专栏. 文章目录 一:Keytool 是什么? 二:Keytool 需要安装吗? 三:Keytool 密钥的存储形式 四:Key ...

  6. 【Android 教程系列第 21 篇】如何查看安卓手机上支持哪些硬件和软件

    这是[Android 教程系列第 21 篇],如果觉得有用的话,欢迎关注专栏. 我们做一些功能的时候,需要先知道当前功能是否被硬件所支持,要不然费很大劲做的功能到最后发现因为硬件不支持而功亏一篑,那可 ...

  7. 【Android 教程系列第 13 篇】在小米手机上使用安卓投屏软件 QtScrcpy ,为什么点击屏幕没有反应

    这是[Android 教程系列第 13 篇],如果觉得有用的话,欢迎关注专栏. 一:问题描述 众所周知,QtScrcpy 是一款非常好用的安卓投屏软件. 以前用的测试机是一加的,最近换了小米的,发现开 ...

  8. 【Android 教程系列第 11 篇】安卓手机的制造商有哪些

    这是[Android 教程系列第 11 篇],如果觉得有用的话,欢迎关注专栏. 有时候我们需要获取手机的一些设备信息,比如手机的 品牌(brand) ,如 Xiaomi.Redmi.OPPO.HUAW ...

  9. 【Android 教程系列第 12 篇】常用 App 的 URL Scheme

    这是[Android 教程系列第 12 篇],如果觉得有用的话,欢迎关注专栏. App 的 URL Scheme 就像网页的 url 链接一样,可以打开 App 或跳转到相应的页面. 下面是我结合 参 ...

最新文章

  1. selenium 实现网页截图
  2. MYSQL数据库性能调优之六:备份
  3. Xamarin.Android SharedPreferences的使用方法
  4. 《VMware vCAT权威指南:成功构建云环境的核心技术和方法》一3.8 多站点考虑因素...
  5. swift面向对象之属性
  6. 【白皮书分享】中国新能源汽车供应链白皮书2020.pdf(附下载链接)
  7. mdt服务器实现自动加域,Windows自动化部署(三)MDT环境准备
  8. 教程解读:游戏平台系统到底该如何搭建?
  9. (二十二)【模电】(波形的发生与信号的转换)电压比较器
  10. Ubuntu 字符终端
  11. 小学听力测试英语软件,小学英语听力测试
  12. 在配置DNS后服务器启动失败问题的排查
  13. 算法题:Rod Cutting
  14. visio设置页元素组
  15. 数据分析01 - 规范化方法
  16. windows 10企业版windows Defender无法使用
  17. 行业渠道再洗牌,运营商或重掌行业话语权
  18. 厉害了!腾讯又一开源力作发布!
  19. 火车头采集器V9版本 Json提取bug
  20. word 显示所有书签

热门文章

  1. 单片机编程常用位运算
  2. 线性最小二乘法的系数方差估计
  3. 实用APP分享:这3款“三无”浏览器,你竟然还不知道?
  4. 金融级云原生探索实践系列 - 开篇
  5. ACM数据库的检索应用
  6. PHP 获取当前时间、时间戳及相互转换函数用法
  7. Axure RP9——【唱片旋转播放暂停效果】
  8. bmi 指数计算pyhton代码实现
  9. UniApp如何打包IOS企业版APP及ios企版app证书申请方法图文教程
  10. 自动化机器学习TPOT及其python实例