包签名与之前安装的版本不匹配

IT技术 android reactjs react-native
2021-03-23 06:10:22

这是我的项目:https://github.com/kenpeter/my_hak_news,这是直接拷贝https://github.com/grigio/HAgnostic-News

Git clone https://github.com/kenpeter/my_hak_news,然后运行react-native run-android

得到这个错误:

* What went wrong:
Execution failed for task ':app:installDebug'.
> com.android.builder.testing.api.DeviceException: com.android.ddmlib.InstallException: Failed to finalize session : INSTALL_FAILED_UPDATE_INCOMPATIBLE: Package com.hagnosticnews signatures do not match the previously installed version; ignoring!

相关问题:https : //github.com/grigio/HAgnostic-News/issues/1,我按照各种方法,但无法解决这个问题。

6个回答

您需要卸载它,因为您使用的签名与原始签名不同。如果它不起作用,可能是因为它仍然为设备上的另一个用户安装。要完全卸载,请转到设置 -> 应用程序 -> HAgnostic 新闻 -> 选项(右上角的三个点)-> 为所有用户卸载

@Roman 您的评论对我来说是救命稻草。在其他地方卸载它后,我还在安全文件夹中找到了我的应用程序。在那里删除它解决了它。
2021-05-23 06:10:22
@maxoimime 这个答案有效。您可以考虑删除您的评论。它对大多数用户具有误导性
2021-05-29 06:10:22
@maxoimime 将新版本发布到 Play 商店时会发生什么。用户是否必须在安装新版本之前卸载应用程序?或者用户是否能够毫无困难地更新应用程序?
2021-06-02 06:10:22
卸载没有任何作用。即使在未安装该应用程序的设备上也会发生此错误。
2021-06-03 06:10:22
这也是我的问题。原来我的应用程序也安装在三星安全文件夹中。
2021-06-07 06:10:22

我在我的项目中也遇到了这个问题。

这对我有帮助,所以希望能帮助别人:

adb uninstall "com.domain.yourapp"

解决方案来自这里。

干得漂亮!我有一部有 root 权限的手机,我升级了操作系统版本并重新刷新了启动分区以重新启用 root 访问权限,我无法安装我拥有的一些应用程序,并且adb uninstall为那些完美修复的 APK运行
2021-05-27 06:10:22
这是正确的答案,因为我已经为所有用户从手机上卸载了该应用程序,但一直收到相同的错误。谢谢
2021-05-29 06:10:22
先生是君子,是学者!我一直坚持这个!!!离子 4,角 8
2021-06-11 06:10:22
是的,这也适用于我,它不会显示在应用程序列表中!
2021-06-12 06:10:22
Xamarin Forms 用户在这里。这就是我的答案。我已经从手机上卸载了该应用程序,但这还不够。
2021-06-15 06:10:22

当您在移动/模拟器手机上安装了不同版本的应用程序时会发生这种情况。

只需卸载现有应用程序即可解决问题

如果您安装的应用程序版本不是使用相同的密钥库/签名证书构建的,它将具有不同的签名。默认情况下,每台构建机器都将拥有不同的调试证书,除非您根据google 文档指定应如何对其进行签名,这可用于确保您的应用程序将使用相同的调试密钥构建,无论您构建应用程序的计算机是哪台。在。

为了继续安装,您必须卸载现有版本,然后重试。

这种情况主要发生在手机安装了来自 Google Play 商店的应用程序版本时。您可以使用与生产版本相同的密钥库/证书构建代码,也可以将其从手机中卸载并使用调试密钥库/证书构建它

我面临着与问题中提到的相同的问题。您能否让我知道如何使用较早的密钥库/证书构建代码?我的客户为我提供了密钥库文件,但我不知道如何使用客户端提供的密钥库文件构建我的 React Native android。
2021-05-26 06:10:22
有一段时间没有做 Android,但根据这个:developer.android.com/studio/publish/app-signing#sign_release,你应该去 Build > Generate Signed Bundle/APK,在“Key store path”下' 字段,按 '选择现有...'
2021-05-26 06:10:22