尝试更新我的应用程序时失败[INSTALL_FAILED_ALREADY_EXISTS]


388

当我尝试使用签名与上一个签名相同的新版本更新应用程序时,显示上述错误。

我缺少什么?

Answers:


756

如果您通过设备将应用程序安装在设备上adb install,则应查找的重新安装选项-r。因此,如果您这样做adb install -r,则无需先卸载即可安装。


1
adb install -r并不总是能正常工作(我从Sprint获得了EVO 4G,但其表现却不符合预期)。我发现的唯一解决方法是手动删除该应用程序。有时,我什至必须通过手机的UI进行操作,因为EVO是如此的气质。
— jww 2014年

21
我来这里是因为我想知道是否adb install -r先删除然后再安装或升级我的应用程序。尽管adb的描述不是很清楚(-r:替换现有应用程序),adb install -r但确实会升级您的应用程序,并且不会删除您的应用程序数据。因此适合测试升级您的应用程序(这是我一直在寻找的信息)。
— Thibault D.

8
对于声称adb install -r不起作用的人:我想.apk您尝试安装的文件未使用与.apk设备上安装的文件相同的开发人员证书签名。如果您已经安装了Debug应用程序,然后又尝试安装Release应用程序,则很容易发生。如果应用程序未使用相同的证书签名,则无法更新。
— Thibault D.

1
如果您使用多个帐户,则可能必须从所有帐户中卸载(请参阅GregP的答案)。我这样做之后对我有用。
— JD Sandifer

不起作用,我的应用程序是系统应用程序,这不能解决我的问题:/
— htafoya

11

之所以出现该错误,是因为已经存在一个与您的应用程序包名称相同的应用程序。如果确定以前没有安装过相同的应用程序,请更改软件包名称并尝试。

否则,您可以执行以下操作:

  1. 从设备上卸载应用程序:转到设置->管理应用程序,然后选择卸载或
  2. 使用adb命令行界面卸载该应用程序:键入adb uninstall完成此步骤后,请尝试再次安装该应用程序。

我的应用程序没有出现在菜单或应用程序商店下-但是由于穆罕默德的提示而找到了它。
— DavidP 2012年

2
这不是一个好的解决方案。如果您在应用程序中保存了一堆状态,例如SharedPrefs,该怎么办?如果您要从系统中进行硬卸载,则必须重新配置应用程序!
— IgorGanapolsky '16

这是我需要的解决方案adb uninstall my.package。奇怪的是,它并没有卸载的首选项,我想删除,但它并摆脱了包装,这是挡住我从重新安装的事情。
— JMD

6

这可能意味着您的设备上已经为其他用户安装了该应用程序。用户共享应用程序。我不知道他们为什么这么做,但他们这样做。因此,如果一个用户更新了应用程序,那么另一个用户也会被更新。如果您在其中一个上进行卸载,则不会从另一个上将其从系统中删除。


这是我的确切问题!继续尝试通过adb和手动方式进行卸载,但是adb install <package.apk>即使该应用程序在应用程序列表中不再可见,该操作仍然失败。原来我的设备上的其他帐户上仍然存在该邮件...谢谢!
— JD Sandifer

这也为我解决了。有关要为所有用户卸载的设备的信息,我必须转到“设置”>“应用程序”,点击“应用程序”,点击右上角的省略号,然后点击“为所有用户卸载”。
— d219

3

安装

adb install -r exampleApp.apk

(这-r将替换现有副本,-s如果在模拟器上安装则添加一个)

确保应用程序签名相同且debug/release变体相同

奖金

我在中设置了一个别名~/.bash_profile,使其成为2char命令。

alias bi="gradlew && adb install -r exampleApp.apk"

(简短的构建和安装)


0

如果您仍然遇到问题,请尝试使用命令提示符卸载应用程序。只需添加命令,adb uninstall com.example.yourpackagename 然后尝试重新安装即可。


0

使用我的Android 5平板电脑时,每次我尝试使用adb来安装签名的发行版apk时,都会收到[INSTALL_FAILED_ALREADY_EXISTS]错误消息。

我必须先卸载调试包。但是,我无法使用设备的应用程序管理器进行卸载!

如果确实要使用Application Manager卸载调试版本,那么我必须从Android Studio重新运行调试版本,然后使用adb uninstall com.example.mypackagename

最后,我可以使用adb install myApp.apk安装签名的发行版apk。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.