Android 安装失败 - 相同的包但不同的签名
Posted
技术标签:
【中文标题】Android 安装失败 - 相同的包但不同的签名【英文标题】:Android Installation failed - Same package but a different signature 【发布时间】:2018-02-27 22:06:07 【问题描述】:我在设备上安装了我的发布应用程序(来自 Google play)。当我尝试通过在 android Studio 中运行安装应用程序时,出现此错误。
我什么也没做,它总是有效,我总是在将 apk 上传到 Google play 之前检查发布版本。
我认为上传到 Google Play 可能会解决问题,所以我上传了一个 alpha 版本(不想冒险上传到生产环境,因此不会强制我的用户先卸载) 但是我的 alpha 测试人员得到了这个:
,我相信如果我将 apk 上传到生产环境中,它会是一样的。
-
什么会导致签名不同?
我如何检查有什么区别?
【问题讨论】:
【参考方案1】:所以让我们以相反的顺序回答你的问题。
-
如何检查差异?
您可以通过pulling the APK off the device,然后looking at the certificate hash 来检查差异。
-
可能是什么原因造成的?
很多东西 - 这里有两个:
您更改了本地密钥库(或将其删除),Android Studio 为您生成了一个新密钥库 您注册了Google Play App Signing,因此交付的 APK 上的签名与您上传的 APK 上的签名不同。【讨论】:
【参考方案2】:您的设备上已经安装了signed release version
,因此您无法安装unsigned debug version
。
我的解决方案是从设备中卸载当前包(并清除它的数据以确保),然后重试通过 android studio 运行。
【讨论】:
【参考方案3】:即使你有相同的包,如果你有不同的buildType
,手机在不卸载以前的版本的情况下将无法安装。
我在使用 HockeyApp 时遇到了同样的问题,卸载手机上的现有版本解决了它。
【讨论】:
我用相同的构建类型运行它,发布 您在 Android Studio 中遇到的错误是什么?您的问题似乎没有该信息。以上是关于Android 安装失败 - 相同的包但不同的签名的主要内容,如果未能解决你的问题,请参考以下文章