Android 应用程序更新失败-证书不一致(…但不是真的)

Android 应用程序更新失败-证书不一致(…但不是真的),android,certificate,package,Android,Certificate,Package,我已经为我的应用程序发布了5个更新,没有任何问题。现在,当尝试安装用于测试目的的更新时,安装失败。通过常规的安卓软件包安装程序,我得到了未安装的错误应用程序 尝试通过adb安装应用程序时,我收到错误: [安装\u解析\u失败\u证书不一致] 我知道,事实上,该证书与我以前在应用程序上签名时使用的证书相同 我还相应地增加了清单文件中的versionName和versionCode 自上次更新以来,唯一的变化是我的硬盘坏了,这导致重新安装eclipse、ADT、Android SDK和Java。崩溃

我已经为我的应用程序发布了5个更新,没有任何问题。现在,当尝试安装用于测试目的的更新时,安装失败。通过常规的安卓软件包安装程序,我得到了未安装的错误应用程序

尝试通过adb安装应用程序时,我收到错误: [安装\u解析\u失败\u证书不一致]

我知道,事实上,该证书与我以前在应用程序上签名时使用的证书相同

我还相应地增加了清单文件中的versionName和versionCode

自上次更新以来,唯一的变化是我的硬盘坏了,这导致重新安装eclipse、ADT、Android SDK和Java。崩溃后,我基本上不得不重新设置整个开发环境

包括我的所有项目文件在内的所有内容都已备份。我可以很好地构建我的应用程序

如果我先卸载以前的版本,安装工作正常,但这是我当前发布的应用程序的更新。我不能要求用户卸载他们当前用于更新的任何版本。听起来很傻


任何想法都会有帮助。

我认为您需要再次确认是否使用相同的证书,因为我们多次遇到相同的情况,而根本原因总是相同的:证书更改

您可以简单地解压缩.apk文件,因为它只是一个普通的ZIP包,然后找到文件META-INF/CERT.RSA。不应在所有.APK文件中更改CERT.RSA。要确认,请按如下说明:

openssl pkcs7 -inform des -in CERT.RSA -out decrypted.txt -print_certs -text

您只需在.txt文件上运行diff即可。

我认为您需要再次确认是否使用相同的证书,因为我们多次遇到相同的情况,根本原因总是相同的:证书更改

您可以简单地解压缩.apk文件,因为它只是一个普通的ZIP包,然后找到文件META-INF/CERT.RSA。不应在所有.APK文件中更改CERT.RSA。要确认,请按如下说明:

openssl pkcs7 -inform des -in CERT.RSA -out decrypted.txt -print_certs -text

您只需在.txt文件上运行diff即可。

什么是常规的Android软件包安装程序?若您的意思是直接从Eclipse运行/安装,那个么它只使用developer/debug键对包进行签名。如果您使用的是导出签名包工具,并手动将包上载到设备,那么,非常有趣。harism是正确的。如果您丢失了开发计算机上的所有内容,那么也会丢失debug.keystore。应用程序的所有调试安装现在都是孤立的。您需要卸载这些调试版本,才能使用新的debug.keystore重新安装。由于没有更好的术语,我所指的常规android软件包安装程序是您的普通用户在从市场上安装应用程序/从设备上的文件资源管理器打开apk文件时会得到的。谢谢你的努力/想法。这是我的人为错误。什么是常规的安卓软件包安装程序?若您的意思是直接从Eclipse运行/安装,那个么它只使用developer/debug键对包进行签名。如果您使用的是导出签名包工具,并手动将包上载到设备,那么,非常有趣。harism是正确的。如果您丢失了开发计算机上的所有内容,那么也会丢失debug.keystore。应用程序的所有调试安装现在都是孤立的。您需要卸载这些调试版本,才能使用新的debug.keystore重新安装。由于没有更好的术语,我所指的常规android软件包安装程序是您的普通用户在从市场上安装应用程序/从设备上的文件资源管理器打开apk文件时会得到的。谢谢你的努力/想法。这是我的人为错误。事实证明,这不是同一个密钥库。不要问我这个新密钥库是如何进入我的项目文件夹的。我使用了几个月前的备份,使用了密钥库,一切正常。时间就是金钱的人,把你的档案整理好!事实证明,它不是同一个密钥库。不要问我这个新密钥库是如何进入我的项目文件夹的。我使用了几个月前的备份,使用了密钥库,一切正常。时间就是金钱的人,把你的档案整理好!