Falha [INSTALL_FAILED_ALREADY_EXISTS] quando tentei atualizar meu aplicativo

388

quando tentei atualizar meu applcation com a nova versão que possui a mesma assinatura da anterior, aparece o erro acima.

O que estou perdendo?

DroidBot
fonte

Respostas:

756

Se você instalar o aplicativo no seu dispositivo via, adb installdeverá procurar a opção de reinstalação que deveria ser -r. Portanto, se você adb install -rtiver, poderá instalar sem desinstalar antes.

WarrenFaith
fonte
11
adb install -rnem sempre funciona (eu tenho um EVO 4G da Sprint que se recusa a se comportar conforme o esperado). A única solução alternativa encontrada foi a remoção manual do aplicativo. Às vezes, tenho que fazer isso através da interface do usuário do telefone, porque o EVO é muito temperamental.
JWW
21
Eu vim aqui porque queria saber se adb install -rremoveria primeiro e depois instalaria ou atualizaria meu aplicativo. Embora adba descrição não seja muito clara ( -r: substitua o aplicativo existente ), adb install -rele atualiza seu aplicativo e não remove os dados do aplicativo. Portanto, adequado para testar a atualização do seu aplicativo (que é a informação que eu estava procurando).
Thibault D. 13/01
8
Para as pessoas que alegam adb install -rnão funcionar: acho que o .apkarquivo que você está tentando instalar não foi assinado com o mesmo certificado de desenvolvedor que o .apkarquivo instalado no dispositivo. Isso acontece facilmente se você instalou um aplicativo de depuração e está tentando instalar o aplicativo Release ou o contrário. Você não pode atualizar um aplicativo se ele não estiver assinado com o mesmo certificado.
Thibault D. 13/01
11
Se você usa várias contas, pode ser necessário desinstalar todas as contas (consulte a resposta do GregP). Isso funcionou para mim depois que eu fiz isso.
JD Sandifer
não funciona, meu aplicativo é um aplicativo de sistema e isso não está resolvendo meu problema: /
htafoya 25/11
11

Você está recebendo esse erro porque já existe um aplicativo com um nome de pacote igual ao seu aplicativo. Se você tiver certeza de que não instalou o mesmo aplicativo antes, altere o nome do pacote e tente.

Senão, aqui está o que você pode fazer:

  1. Desinstale o aplicativo do dispositivo: Vá para Configurações -> Gerenciar aplicativos e escolha Desinstalar OU
  2. Desinstale o aplicativo usando a interface de linha de comando adb: digite adb uninstall Depois de concluir esta etapa, tente instalar o aplicativo novamente.
Muhammad Mubashir
fonte
Meu aplicativo não estava aparecendo no menu ou na loja de aplicativos - mas o encontrei graças às dicas de Muhammad.
DavidP
2
Esta não é uma boa solução. E se você tiver um monte de estados como SharedPrefs salvos no aplicativo? Se você desinstalar o sistema com força, precisará reconfigurar seu aplicativo novamente!
IgorGanapolsky
Esta foi a solução que eu precisava adb uninstall my.package. Estranhamente, ele não desinstalou as prefs que eu queria remover, mas se livrou do pacote, que era o que estava me impedindo de reinstalá-lo.
JMD 27/01
6

Isso pode significar que o aplicativo já está instalado para outro usuário no seu dispositivo. Usuários compartilham aplicativos. Eu não sei por que eles fazem, mas eles fazem. Portanto, se um usuário atualizar um aplicativo, ele também será atualizado para o outro usuário. Se você desinstalar em um, ele não removerá o aplicativo do sistema no outro.

GregP
fonte
Este foi o meu problema exato! Continuou tentando desinstalar - tanto com adb quanto manualmente, mas adb install <package.apk>continuava falhando, mesmo que o aplicativo não estivesse mais visível na lista de aplicativos. Acontece que ele ainda estava lá na outra conta do meu dispositivo ... Obrigado!
JD Sandifer 24/11
Isso corrigiu para mim também. Para obter informações sobre um dispositivo para desinstalar todos os usuários, tive que acessar Configurações> Aplicativos, toque no aplicativo, toque nas reticências no canto superior direito e toque em Desinstalar para todos os usuários.
D219
3

Para instalar

adb install -r exampleApp.apk

(O -rfaz substituir a cópia existente, adicione um -sse estiver instalando em um emulador)

Verifique se o aplicativo está assinado da mesma forma e é a mesma debug/releasevariante

Bônus

Eu configurei um alias no meu ~/.bash_profile, para torná-lo um comando 2char.

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

(Abreviação de Build and Install)

Gibolt
fonte
0

Se você ainda estiver enfrentando um problema, tente desinstalar o aplicativo usando o prompt de comando. basta adicionar o comando adb uninstall com.example.yourpackagename e tentar reinstalar novamente.

Sanket Sangani
fonte
0

No meu tablet Android 5, sempre que tento usar o adb, para instalar um apk de versão assinada, recebo o [INSTALL_FAILED_ALREADY_EXISTS]erro.

Eu tenho que desinstalar o pacote de depuração primeiro. Mas não consigo desinstalar usando o Gerenciador de aplicativos do dispositivo !

Se desinstalar a versão de depuração com o Application Manager , preciso executar novamente a variante de compilação de depuração do Android Studio e depois desinstalá-la usandoadb uninstall com.example.mypackagename

Finalmente, eu posso usar adb install myApp.apkpara instalar o apk da versão assinada.

BlueSpectrumz
fonte