Android比较当前软件包和新发布应用程序的签名
我在android上制作了一个应用程序,并在play store上发布了它。我用一个新的私钥签署了我的apk 上周,我想用我的新功能更新我的应用程序。当我尝试在设备上安装新版本时,其提示错误消息:Android比较当前软件包和新发布应用程序的签名,android,Android,我在android上制作了一个应用程序,并在play store上发布了它。我用一个新的私钥签署了我的apk 上周,我想用我的新功能更新我的应用程序。当我尝试在设备上安装新版本时,其提示错误消息: application not installed , an existing package by the same name with conflicting signature is already installed , 因此,我的问题是,将我在新版本中使用的密钥与play store中的
application not installed , an existing package by the same name with conflicting signature is already installed ,
因此,我的问题是,将我在新版本中使用的密钥与play store中的密钥进行比较,以确保我使用的是相同的私钥。首先,解压缩APK并提取文件/META-INF/ANDROID_.RSA(该文件也可能是CERT.RSA,但应该只有一个.RSA文件) 然后发出以下命令:
keytool -printcert -file ANDROID_.RSA
您将获得如下证书指纹:
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
您将获得别名及其证书指纹的列表:
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安装目录
资料来源:
首先,解压APK并提取文件/META-INF/ANDROID_2;.RSA(该文件也可能是CERT.RSA,但应该只有一个.RSA文件) 然后发出以下命令:
keytool -printcert -file ANDROID_.RSA
您将获得如下证书指纹:
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
您将获得别名及其证书指纹的列表:
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安装目录
资料来源:
当您从调试版本切换到发布版本并返回时,会发生这种情况 解决方案是简单地卸载旧版本
Android Studio将检测到这一点,并提供卸载旧版本 当您从调试版本切换到发布版本并返回时,会发生这种情况 解决方案是简单地卸载旧版本 Android Studio将检测到这一点,并提供卸载旧版本