文章目录
背景
APK要想安装到设备上,无论是debug还是release都是需要先签名的,默认IDE是会使用默认的签名文件给debug的apk签名,所以我们不需要配置签名信息也是可以在设备上运行的,而release的版本强制要求我们配置签名信息,下面整理了一些应用签名相关的知识。
查看签名信息
方式一:使用keytool工具
- 查看apk的签名信息
keytool -list -printcert -jarfile 【apk路径】
# 如:keytool -list -printcert -jarfile /Users/jiangwenzhong/Downloads/app-debug.apk
- 查看证书的签名信息
keytool -list -v -keystore 【签名证书路径】
# 如:keytool -list -v -keystore /Users/jiangwenzhong/Downloads/debug.keystore
方式二:使用微信提供的工具
获取安装到设备的应用签名工具:下载地址
方式三:某些在线工具
这种方式需要将apk上传上去,有风险,所以不建议使用,所以这里就不贴地址了,感兴趣的可以自己搜一下关键词“在线查看apk签名”。
生成应用签名文件
方式一:使用keytool工具
keytool -genkey -alias android.keystore -keyalg RSA -validity 20000 -keystore android.keystore
方式二:使用android studio生成
这种方式比较简单,就不详述了,简单说就是:Build -> Generate Signed Bundle or APK -> Create new…
v1和v2签名文件的区别
简单说:v1签名是对jar进行签名,V2签名是对整个apk签名:官方介绍就是:v2签名是在整个APK文件的二进制内容上计算和验证的,v1是在归档文件中解压缩文件内容。
二者签名所产生的结果: v1:在v1中只对未压缩的文件内容进行了验证,所以在APK签名之后可以进行很多修改——文件可以移动,甚至可以重新压缩。即可以对签名后的文件在进行处理 v2:v2签名验证了归档中的所有字节,而不是单独的ZIP条目,如果您在构建过程中有任何定制任务,包括篡改或处理APK文件