栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

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

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/683971.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号