Android学习笔记之签名Android应用程序

Android项目以它的包名作为唯一标识。如果在同一台手机上安装两个包名相同的应用,后面安装的应用就可以覆盖前面安装的应用。所以需要对产品发布的应用进行签名。
签名的主要有如下两个作用:
1.确定发布者的身份;
2.确保应用的完整性,签名会对应用包中的每个文件进行处理,从而确保程序包中的文件不会被替换。

一.使用Android Studio对Android应用签名
1.单击Android Studio主菜单中的Build----->Generate Signed APK
在这里插入图片描述
2.如果系统中没有数字证书,单击Create new按钮
在这里插入图片描述
3.填写完成之后,使用刚刚创建的数字证书,并确定是对debug还是release进行签名。
在这里插入图片描述

二.使用命令对APK包签名
如果不想借助Android Studio或者在某些场合下,需要对一个未签名的APK包进行签名,可以通过命令的形式进行手动签名。
1.创建Key store库
JDK安装目录下的bin目录下提供了keytool.exe工具来生成数字证书。

keytool -genkeypair -alias danny -keyalg RSA -validity 400 -keystore danny.jks
命令解释如下:
-genkeypair:指定生成数字证书;
-alias:指定生成数字证书的别名;
-keyalg:指定生成数字证书的算法;
-validity:指定生成的数字证书的有效期;
-keystore:指定所生成的数字证书的存储路径。

还需要以交互的方式输入密码,作者,公司等详细信息。
在这里插入图片描述
2.通过Android studio的Build------>Make Project即可生成未签名的APK安装包,具体路径在app/build/outputs/apk。
3.利用JDK安装目录下的bin子目录下提供了jarsigner.exe工具进行签名

jarsigner  -verbose -keystore danny.jks -signedjar app-debug-signed.apk app-debug.apk danny
--verbose:指定生成详细输出
--keystore:指定数字证书的存储路径
--signedjar:该选项的3个参数分别为签名后的APK包,未签名的APK包,数字证书的别名。

在这里插入图片描述
4.成功签名:
在这里插入图片描述
验证apk是否签名。

jarsigner -verify xxx.apk

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值