我有一个已签名的应用程序和几个密钥库文件.我想更新应用程序,所以我需要找出使用了哪个键.
我如何将最初用来签署我的应用程序的密钥库与我机器上的各种密钥库进行匹配?
我有一个已签名的应用程序和几个密钥库文件.我想更新应用程序,所以我需要找出使用了哪个键.
我如何将最初用来签署我的应用程序的密钥库与我机器上的各种密钥库进行匹配?
首先,解压APK并提取文件/META-INF/ANDROID\ux.RSA(该文件也可以是CERT.RSA,但应该只有一个.RSA文件).
然后发出以下命令:
keytool -printcert -file ANDROID_.RSA
您将获得如下证书 fingerprint :
MD5: B3:4F:BE:07:AA:78:24:DC:CA:92:36:FF:AE:8C:17:DB
SHA1: 16:59:E7:E3:0C:AA:7A:0D:F2:0D:05:20:12:A8:85:0B:32:C5:4F:68
Signature algorithm name: SHA1withRSA
然后再次使用keytool打印出签名密钥库的所有别名:
keytool -list -keystore my-signing-key.keystore
您将获得别名及其证书 fingerprint 的列表:
android_key, Jan 23, 2010, PrivateKeyEntry,
Certificate fingerprint (MD5): B3:4F:BE:07:AA:78:24:DC:CA:92:36:FF:AE:8C:17:DB
瞧!我们现在可以确定apk已经用这个密钥库和别名"android_key"进行了签名.
Keytool是Java的一部分,因此请确保路径中包含Java安装目录.