软件包签名与以前安装的版本不匹配

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

Git克隆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,我遵循各种方法,但是无法解决此问题。

樱AItachi2020/03/17 12:50:07

一次只能打开1个仿真器或设备。确保没有运行多个仿真器。

JinJin卡卡西2020/03/17 12:50:07

您需要使用cmd adb卸载packageName为LG设备完全卸载

Tony村村2020/03/17 12:50:07

就我而言,卸载已连接设备中已安装的应用程序可以解决我的问题

米亚村村2020/03/17 12:50:07

当我重命名应用程序的包ID时,这发生在React Native项目中,它与我之前已经使用的另一个包ID冲突。我通过重新安装来修复它:

  1. 在模拟器的主屏幕上找到该应用程序,然后长按其应用程序图标,然后按App info,然后选择“取消安装”。

  2. 执行react-native run android

GilTom2020/03/17 12:50:07

转到android studio-> AVD管理器->选择您的AVD并擦除用户数据

无需重新安装整个AVD。

阿飞西门2020/03/17 12:50:07

我在三星设备上遇到了这个问题,卸载该应用程序也得到了同样的信息。问题在于该应用程序也已安装在手机的“安全文件夹”区域中。值得检查这是否是您的方案。

神无前端2020/03/17 12:50:07

当使用不同的凭据上传我的模拟器/手机上的先前版本时,发生了此错误。我要做的是运行:

adb uninstall com.exampleappname

完成后,我便可以重新运行构建并生成APK。

小胖蛋蛋前端2020/03/17 12:50:07

我遇到了同样的问题,它在AVD中运行良好,但是在我的手机中运行不正常。我在手机上卸载了该应用程序,然后运行正常。

西里JinJin2020/03/17 12:50:07

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

我也遇到了这个问题,那就是当已经安装好的离子应用程序(相同的程序包名称)在我的手机上正常运行后,已经从我的手机中删除了。

Pro十三2020/03/17 12:50:07

今天,我在三星设备上遇到了同样的问题。在我的具体情况,该应用程序是不是显示在手机上,但它是INSTALLED,所以我不能卸载/删除它。因此,我必须使用终端卸载应用程序$ adb uninstall "com.domain.yourapp" 我的项目树如下所示(部分视图):

└── com
    └── gluonapplication
        ├── DrawerManager.java
        ├── StartApplication.java
        └── views
            ├── PrimaryPresenter.java
            ├── PrimaryView.java
            ├── SecondaryPresenter.java
            └── SecondaryView.java

所以对我来说,命令是:$ adb uninstall com.gluonapplication 完成后,我通过终端安装了该应用程序:

$ cd /path/to/apk/
$ adb install -t myAwesomeApp.apk  # -t means test install

那对我有用。我希望这个答案是有帮助的。

凯村村2020/03/17 12:50:07

如果尝试将其安装在仿真器中,但又有另一部电话通过USB连接到计算机,请断开USB电缆的连接或在物理设备中禁用USB调试。(我自己浪费了30分钟。)

蛋蛋L西里2020/03/17 12:50:07

我遇到了同样的错误。我在虚拟设备上卸载了该应用程序,然后重新运行命令:“ react-native run-android”。

小小伽罗2020/03/17 12:50:07

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

逆天西里2020/03/17 12:50:07

com.android.builder.testing.api.DeviceException:com.android.ddmlib.InstallException:无法完成会话:INSTALL_FAILED_UPDATE_INCOMPATIBLE:程序包[MY REACT NATIVE APP NAME HERE]签名与以前安装的版本不匹配;无视!

尝试使用以下命令在连接的设备上安装我的React Native Android应用程序时出现此错误:

react-native run-android --variant=release

我的计算机上还运行了一个模拟器。

有一次,我退出模拟器,运行此命令成功。

GreenNear2020/03/17 12:50:07

当您在手机/仿真器手机上安装了不同版本的应用程序时,就会发生这种情况。

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

猴子Sam宝儿2020/03/17 12:50:06

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

这对我有所帮助,因此满怀希望地会帮助其他人:

adb uninstall "com.domain.yourapp"

解决方案是从这里开始。

理查德十三Davaid2020/03/17 12:50:06

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

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

神乐JinJinEva2020/03/17 12:50:06

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