我们可以使用Android Studio对Android应用签名,点击主菜单Build->Generate Signed APK菜单项,会出现一个对话框,按照对话框的提示一步步的操作就可以了,今天这个不是我总结的重点,我今天总结的重点是使用命令对APK包签名。
第一步,创建Key store库。JDK安装目录下的bin子目录下提供了keytool.exe工具来生成数字证书。在命令行窗口输入如下命令
keytool -genkeypair -alias crazyit -keyalg RSA -validity 400 -keystore crazyit.jks
-genkeypair:指定生成数字证书
-alias:指定生成数字证书的别名。
-keyalg:指定生成数字证书的算法,使用RSA算法
-validity:指定生成数字证书的有效期
-keystore:指定所生成的数字证书的存储路径。
点击回车后,就会让用户输入数字证书keystore的密码,作者,公司等详细信息。
第二步就是创建一个未签名的apk安装包,点击主菜单Build->Make Project即可生成一个未签名的apk安装包,在Android studio 项目的app\build\outputs\apk路径下即可找到一个app-release-unaligned.apk文件,该文件就是未签名的APk安装包。
第三步 使用jarsinger命令对未签名的APK安装包进行签名。JDK安装目录下的bin子目录下提供了jarsigner.exe工具进行签名,当然AS的命令行窗口也可以使用
jarsigner -verbose -keystore crazyit.jks -signedjar
HelloWorld_crazyit.apk app-release-unaligned.apk crazyit
-verbose:指定生成详细输出
-keystore:指定数字证书的存储路径
-signedjar:该选项的3个参数分别为签名后的APK包,未签名的APK包,数字证书的别名。
回车之后,命令行窗口就会让用户输入数字证书keystore的密码。