本节只针对如何从零开始实现简单的打包签名
概要
debug.keystore:使用Android Studio直接编译运行时默认使用的签名证书,存放路径C:\Users.android
app-debug.apk:使用Android Studio直接编译时生成的apk文件,生成路径build/outputs/apk/debug/
V1(Jar Signature):
V2(Full APK Signature):
APK文件的校验指令:jarsigner -verbose -certs -verify 签名过的apk文件
Keytool生成JKS签名证书
cmd指令生成JKS签名证书:keytool -genkey -v -keystore aso.jks -alias aso -keyalg RSA -validity 9125
keytool:是一个Java数据证书的管理工具,已经集成在JDK中了,keytool 将密钥(key)和证书(certificates)存在一个keystore的文件中,或者是jks的文件
-genkey:执行的是生成数字证书操作,将在用户目录中创建一个默认.keystore文件或者.jks文件
-v:显示密钥库中的证书详细信息
-keystore aso.jks:生成的证书的文件名为"aso.jks"(自定义的证书名)
-alias aso.jks:证书的别名为"aso.jks"。(一般和上面的证书名名相同,可以不同,但要记好,签名时会用到)
-keyalg RSA:指定生成密钥文件采用的算法为RSA(可以是RSA、DSA,默认是DSA)
-validity 9125:指定证书的有效天数(365*25),时间到期之后证书将失效
-keysize:指定密钥长度
-storepass:指定密钥库的密码(获取keystroe信息所需的密码)
-keypass:指定