前言 :
各位同学大家好,有段时间没有给大家更新文章 ,具体多久我也不记得了哈。因为工作的原因要分析 线上包和本地签名文件是否一致 就对安卓的签名文件查看做了一些小小研究 ,今天就分享给大家,我们废话不多说正式开始。
准备工作
apktool 反编译拆包工具可以去查看我之前文章:
https://www.jianshu.com/p/219bf3fb048f
具体目的
查看apk包含其中的MD5、SHA1、SHA256值和签名算法等信息数据。
签名如何创建 ,这个可以用命令创建 keysotre 或者你再android studio 里面去创建也行
-
命令创建
在cmd命令行执行这个命令即可
keytool -genkey -alias android.keystore -keyalg RSA -validity 36500 -keystore android.keystore
-
android studio 创建
按照步骤选择签名路径和签名密码还有别名密码即可
查看签名信息:
-
一、查看本地keystore文件(前提是有keystore的密码)
keytool -list -v -keystore 目标文件路径
例如我本地
-
二、查看三方应用或是系统应用签名
找到我们的apk
然后执行apktool d xxx.apk 把我们的apk 拆开
然后我们找到 META-INF 路径下面的 CERT.RSA
可以查看签名的MD5、SHA1、SHA256值及签名算法
命令:keytool -printcert -file 目标文件路径
例如
keytool -printcert -file G:\decompiletool\app-release\original\META-INF\CERT.RSA
我们可以查看到包里面的签名的证书指纹 md5 SHA1 SHA256 等等信息
这样我们就可以对比线上包和本地包签名是否一致 来排查问题
Android 中的keystore 和包名来决定一个包的唯一性
具体更多keystore 的介绍请看大神的文章:https://www.jianshu.com/p/644ddb6e3d9c
最后总结
这一期文章主要就是记录一下获取apk里面签名信息和 本地keystore 里面信息基础教程介绍 希望能帮助到各位同学学习和工作 最后希望我的文章能帮助到各位解决问题 ,以后我还会贡献更多有用的代码分享给大家。各位同学如果觉得文章还不错 ,麻烦给关注和star,小弟在这里谢过啦