Android中关于签名的一些知识

1.签名的介绍

Android中的签名其实完全可以理解为我们日常生活中的签名,就是让你开发的应用和你有所联系,告诉人们这个应用是属于你个人的或者一个公司的。

2.为什么需要签名

最简单的说法就是Android系统的需要,也确实是这样,Android系统要求安装的每个APK必须要有签名。Android通过数字签名来标识应用程序的作者和在应用程序之间建立信任关系,有人可能会问了,我没有给我的akp签名为什么我也可以安装到我的手机上面进行调试呢,你没有给APK签名并不代表在调试的时候IDE没有给APK签名,其实IDE在打包调试的时候是默认给APK签名的,这个签名文件在C:\Users\Administrator.android里面,有个debug.keystore,这个就是默认的签名文件。

3.怎么生成自己的签名文件

这个我们利用Android Studio图形化界面就可以了,当然也可以用JDK自带的keytool来生成(这种就是在cmd下用指令生成)

《Android中关于签名的一些知识》 keytool命令

这里介绍一下Android Studio的生成方法

  1. 打开AS菜单栏的build

《Android中关于签名的一些知识》 这里写图片描述

  1. 选择Generate Signed APK..–>Create new….

《Android中关于签名的一些知识》 这里写图片描述

  1. 填写内容创建签名包

    《Android中关于签名的一些知识》 这里写图片描述

  2. 这个时候你所创建的签名包里面就有一个签名文件了,当然你还可以在这个签名包里面继续创建别的签名文件,只需要在第二步点击key alias后面的 ··· 即可。

到这里属于你的签名包文件就已将创建完了。

4.怎么查看签名包文件的详细信息

查看签名包文件信息的方式有很多种,有一些很方便的工具,这里我说一些使用命令符的方法:

《Android中关于签名的一些知识》 这里写图片描述

输入keytool -help就可以出现有关的命令了,这里介绍的这种方法不仅适用于keytool这种命令符,以后你遇到所有的命令符都可以采用这种方式查看怎么使用。
我们看到命令下面给的提示
使用 “keytool -command_name -help” 获取 command_name 的用法
就是说如果我们不懂那个命令的话就输入 keytool -命令 -help获取帮助
比如我输入keytool -list -help 就出现下面这个说明

《Android中关于签名的一些知识》

cmd–>到keystore目录下面–>keytool -list -keystore keystore的全名 -storepass 密码 这样就获取关于keystore的信息了。
keytool -list -v -keystore keystore的全名 -storepass 密码 就会详细输入信息。

5.怎么查看APK的签名信息

首先把apk文件重命名改成.zip文件,然后找到META-INF文件下的CERT.RSA,在命令符中到这个文件下面输入命令
D:>keytool -printcert -v -file CERT.RSA
就可以看到APK的签名信息。

点赞