Android安装失败 - 相同的包但签名不同

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Android安装失败 - 相同的包但签名不同相关的知识,希望对你有一定的参考价值。

我在设备上安装了我的发布应用程序(来自Google Play)。当我试图通过在android工作室中运行来安装应用程序时,我收到此错误。

我没有改变任何东西,它始终有效,我总是在将apk上传到谷歌播放之前检查发布版本。

我想也许上传到谷歌播放将解决问题,所以我上传了一个alpha版本(不想冒上传到生产的风险,所以我的用户将不会被强制先卸载)但我的alpha测试人员得到这个:

,我相信,如果我上传apk到生产它将是相同的。

  1. 什么可能导致签名的差异?
  2. 我该如何检查有什么区别?
答案

您的设备上已经安装了signed release version,因此您无法安装unsigned debug version。 我的解决方案是从设备卸载当前的包(并清除它的数据以确保),然后通过android studio重试运行。

另一答案

即使你有相同的包,如果你有不同的buildType手机将不允许它安装而不卸载以前的版本。

我在HockeyApp上遇到了同样的问题,并且在手机上卸载现有版本修复了它。

另一答案

那么让我们以相反的顺序回答你的问题。

  1. 你怎么检查差异?

您可以通过pulling the APK off the device查看差异,然后查看looking at the certificate hash

  1. 什么可能导致它?

很多东西 - 这里有两个:

  • 您更改了本地密钥库(或删除了它),Android Studio为您生成了一个新密钥库
  • 您注册了Google Play App Signing,因此提供的APK上的签名与您上传的APK上的签名不同。

以上是关于Android安装失败 - 相同的包但签名不同的主要内容,如果未能解决你的问题,请参考以下文章

Android签名打包详解

Android 程序打包及签名

对Android应用签名

Android:应用程序签名总结

Android APK如何签名

“未安装应用程序”,试图安装签名apk