这是我的项目: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,我遵循各种方式,但无法解决此问题.
您需要卸载它,因为您使用的签名与原始签名不同.如果它不起作用,可能是因为它仍然为设备上的其他用户安装.要完全卸载,请转到设置 - >应用程序 - >诊断新闻 - >选项(右上角的三个点) - >为所有用户卸载
我也在我的项目中遇到了这个问题.
这帮助了我,所以希望能帮助别人:
adb uninstall "com.domain.yourapp"
解决方案就在这里.
如果您安装的应用程序版本未使用相同的密钥库/签名证书构建,则它将具有不同的签名.默认情况下,每个构建计算机将具有不同的调试证书,除非您根据google文档指定应如何签名,这可用于确保您的应用程序将使用相同的调试密钥构建,无论您构建应用程序的计算机是什么上.
要继续安装,您必须卸载现有版本,然后重试.
大多数情况是在手机安装了Google Play商店中应用程序的版本时发生的。您可以使用与生产版本相同的密钥库/证书来构建代码,也可以仅从电话中将其卸载并使用调试密钥库/证书来构建代码。
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
我的计算机上还运行了一个模拟器。
有一次,我退出模拟器,运行此命令成功。
当您在手机/仿真器手机上安装了不同版本的应用程序时,就会发生这种情况。
只需卸载现有应用程序即可解决问题
如果您尝试将其安装在仿真器中,但又有另一部电话通过USB连接到计算机,请断开USB电缆的连接或在物理设备中禁用USB调试。(我自己浪费了30分钟。)