Falha [INSTALL_FAILED_UPDATE_INCOMPATIBLE], mesmo que o aplicativo pareça não estar instalado

206

Ao tentar implantar meu aplicativo no dispositivo Android, estou recebendo o seguinte erro:

Deployment failed because of an internal error: Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

Estou ciente dessa pergunta, mas o aplicativo não está instalado. Foi removido / parcialmente removido pelo Visual Studio durante a tentativa de implantação.

No passado, eu resolvia isso baixando o aplicativo da loja do Google Play e removendo-o das configurações-> Gerenciador de aplicativos. No entanto, agora estou recebendo o erro "atualização incompatível" quando está tentando instalá-lo.

Tentei removê-lo usando o Titanium Backup e algumas outras coisas, mas sem sorte.

EDIT 1

Percebi (pelo @Motz) que não mencionei que a solução óbvia não funciona. Ou seja, o aplicativo não aparece em Configurações-> Aplicativos

YKa
fonte
Qual versão instalada no seu dispositivo?
Haresh Chhelana
Pode acontecer se o aplicativo necessário para a versão mínima do SDK for superior à versão do sistema operacional do dispositivo.
Haresh Chhelana
Verifique se logcathá pistas adicionais ao tentar instalar o aplicativo. Deve haver uma entrada de log com mais detalhes de por que está falhando.
precisa
Qual versão do Android é o seu telefone?
Darpan
Minha versão do Android é 4.4.2. O SDK mínimo está bom porque eu instalei o aplicativo antes e porque o verifiquei.
YKA

Respostas:

565

Eu já vi isso várias vezes. Normalmente, é devido a ter uma versão de lançamento assinada no meu telefone e depois tentar implantar a versão de depuração na parte superior. Ele fica preso em um estado inválido onde não é totalmente desinstalado.

A solução que funciona para mim é abrir um prompt de comando e digite:

adb uninstall my.package.id

Isso geralmente conclui a desinstalação para que eu continue o desenvolvimento.

Boa sorte!

Kiliman
fonte
1
Isso funcionou para mim ao reiniciar e desinstalar o aplicativo não.
Aggressor
26
O Stackoverflow deve ter uma lista de respostas favoritas. Este pedaço de bruxaria funciona como charme.
Josh
2
Se você estiver usando um dispositivo Android para teste e se instalar o aplicativo em outra máquina e tentar instalar na sua máquina, esse erro será exibido. Esta solução funciona.
SajithK
Você salvou meu dia ... Havia uma versão corrompida do aplicativo instalada no Application Manager (ela não aparece na seção de aplicativos). Eu queria desinstalá-lo antes de implantar
Anees Deen
1
Deus abençoe o StackOverflow e você, senhor, por resolver problemas que o Xamarin deve abordar: \
Eric Wu
79

Não há necessidade de fazer um adb uninstall, basta ir ao seu settings->appse depois desinstalar a partir daí. Você verá seu aplicativo acinzentado.

Os problemas geralmente têm a ver com uma versão de lançamento versus depuração, como @Kiliman, mencionada aqui.

JamesMontemagno
fonte
1
Desculpe @Motz, que foi realmente uma das primeiras coisas que fiz, mas o app não está sob aplicativos ... Eu editei a minha pergunta agora
YKA
ATUALIZAÇÃO: Ao usar o Android 5.0 (pirulito), isso agora também funciona. O aplicativo com tamanho de 0,00 KB é exibido e posso desinstalá-lo facilmente.
YKa
2
Configurações> Aplicativos> desinstalar nem sempre funciona. Às vezes, há problemas com vários perfis de usuário e não sendo desinstalados para todos os usuários. Ou o aplicativo foi desinstalado pela metade em um estado ruim. adb uninstalllevaria desses cenários.
112615 wisbucky
Isto não é sempre verdade. Muitas vezes eu fiz isso no passado e funcionou perfeitamente. Mas hoje meu aplicativo simplesmente não estava lá. E também não estava no final da lista de aplicativos (às vezes é necessário desinstalar para todos os usuários, em vez de apenas desinstalar para o usuário atual). adb uninstallfuncionou perfeitamente.
me--
30

Desinstalar o aplicativo seria suficiente para evitar esse problema.

INSTALL_FAILED_UPDATE_INCOMPATIBLE

mas às vezes até a desinstalação da mensagem é gerada novamente, ocorre no Android OS 5.0 +, portanto, esta é a solução:

Vá para Settings> Appse você encontrará seu aplicativo com a mensagem:

"Não instalado para este usuário"

, temos que desinstalar manualmente para todos os usuários com a opção:

"Desinstalar para todos os usuários"

Jorgesys
fonte
1
Sim, funciona. Após unnistall para todos os usuários, ionic cordova run android --devicefunciona! Tks!
Diego Somar
10

Você precisa garantir que o aplicativo seja desinstalado.

No telefone, tente ir settings/applicationse mostrar a lista de todos os aplicativos instalados e verifique se o aplicativo está desinstalado para todos os usuários (no meu caso, eu havia desinstalado o aplicativo, mas ainda para outros).

Terranologia
fonte
5

Normalmente, enfrento esse problema nos dispositivos da versão Android 5.0 ou superior. Como ele possui contas de perfis multiusuário nos mesmos dispositivos. Todo aplicativo será instalado como uma instância separada para todos os usuários. Certifique-se de desinstalar para todos os usuários, conforme a captura de tela abaixo.

insira a descrição da imagem aqui

Nagendra Badiganti
fonte
5

Eu acidentalmente tinha dois dispositivos conectados.

Após remover um dispositivo, ocorreu um INSTALL_FAILED_UPDATE_INCOMPATIBLEerro.

Anu S
fonte
Também acontece se o emulador estiver sendo executado acidentalmente quando você não esperava
blub 5/02
2

Desinstale o apk (aplicativo em que você está trabalhando) do seu dispositivo Android e execute novamente.

Dean Gite
fonte
1

Você pode simplesmente adicionar um parâmetro para executar, consulte:

Run --> Parameters

Parâmetros de campo add -cleaninstall

Agora basta executar, eles sempre farão uma limpeza profunda antes da instalação.

Arthur Freitas
fonte
1

Ok, desinstale o aplicativo, mas admitimos que os dados não devem ser perdidos? Isso pode ser resolvido, atualizando versionCode e versionName e tente o aplicativo no modo "Release".

Por exemplo, isso é importante quando queremos tentar a migração do nosso banco de dados. Podemos comparar a nossa aplicação na Play Store com a aplicação real ainda não lançada.

AlexPad
fonte
1

No meu caso. Eu instalei o aplicativo da versão de lançamento. E depois de desinstalar o aplicativo do meu dispositivo. Coisa funciona bem.

Shan Liu
fonte
0

No meu caso, eu estava recebendo isso quando alternei a versão mínima do Android e quando mudei para a original (quando criei o projeto no início). Então, para que a desinstalação funcionou. Mas quando mudei a minha versão do Android para a mais recente, estava recebendo novamente. Para corrigir isso, fui às propriedades do projeto android e, na seção manifesto do Android, adicionei um nome de pacote, por exemplo, com.dotnetdreamer.net. Se você já possui um nome de pacote, basta renomeá-lo para outra coisa.

Idrees Khan
fonte
Alterei a "versão de compilação de destino" do meu aplicativo de 4.4.2 para 5.0.1. Agora não consigo atualizar a versão mais recente do meu aplicativo em relação à versão lançada anteriormente assinada com a mesma chave. Você pode fornecer qualquer URL que explique / discuta esse problema, pois eu preciso compartilhá-lo com meus clientes. Estou usando o eclipse e também tentei resolver esse problema do seu jeito, mas não consigo encontrar a seção "Manifesto do Android" nas propriedades do projeto. Você pode por favor ajudar? Obrigado
Abdul Rehman
0

Uma maneira simples é renomear o nome do seu pacote e executar novamente

Meysam Khoshbakht
fonte
0

Excluir todos os arquivos de aplicativos do telefone

Para automatizar a exclusão de um aplicativo no seu telefone, você pode seguir as etapas abaixo. Pode ser muito útil excluir o aplicativo e os dados do aplicativo de maneira rápida e limpa.

Crie um arquivo de texto com esse código e salve-o como Uninstall.sh. Vá para a pasta (onde você o colocou) deste script no terminal e faça: sh Uninstall.sh YOURNAMESPACE

Agora, sua pasta de nomes (incluindo arquivos de aplicativos e banco de dados salvos) será excluída.

  echo "Going to platform tools $HOME/Library/Android/sdk/platform-tools"
  cd $HOME/Library/Android/sdk/platform-tools
  echo "uninstalling app with packagae name $1"
  ./adb uninstall $1

Excluir todos os arquivos de aplicativos do pc

Crie um arquivo de texto com esse código e salve-o como DeleteBinObj.sh.

find . -iname "bin" -o -iname "obj" | xargs rm -rf

Vá para a pasta do seu projeto em que você coloca esse script e faça no terminal: sh DeleteBinObj.sh

Robin Bruneel
fonte
0

Caso isso ajude alguém, implantei meu aplicativo no google play. Quando o desinstalei e tentei executar uma depuração no meu dispositivo (nova versão), estava recebendo essa mensagem de atualização com falha.

Não consegui ver o aplicativo no meu dispositivo (ele já estava desinstalado), então eu:

Instalou a primeira versão novamente do google play

Configurações abertas / Aplicativo / Nome do aplicativo aplicativo

Limpou o dados

Limpou o cache

Desinstalou o aplicativo

Agora você pode implantar a versão de depuração novamente no dispositivo :)

DHLopez
fonte
0

Se você estiver usando o dispositivo Samsung e, por acaso, marcou seu aplicativo para o Samsung Knox, precisará desinstalá-lo do aplicativo My Knox.

Desinstalar apenas dos aplicativos Gerais não o desinstalará do Knox App. Isso tem que ser feito explicitamente!

Uttam Byragoni
fonte
0

Usando Ionic com Cordova via linha de comando ...

ionic cordova run android --prod

Eu me deparei com isso e descobri que havia excluído a versão do lançamento de uma instalação de teste anterior, mas tinha uma versão de depuração antiga que estava pendurada na gaveta de aplicativos que eu perdi. Desconectei o dispositivo do computador, abri a gaveta do aplicativo e usei "Pesquisar aplicativos ..." para encontrar todas as instâncias do aplicativo para desinstalá-los. Então eu reconectei o dispositivo no computador e viola, funcionou!

Obrigado pela ajuda de todos!

Shane McCurdy
fonte
0

Espero que isso ajude alguém no futuro, mas simplesmente vá até você config.xml, dentro da widgettag, altere o id padrão ( io.ionic.starter) para o seu próprio id. Dê uma olhada nisso para nomear pacotes no Android.

Zack
fonte
0

Incompatibilidade de assinatura com seu APP do presente anterior e novo APK

Então, desinstale o aplicativo anterior e limpe o gradlew e instale novamente o apk

react-native run-android

run-ios react-native

Keshav Gera
fonte
0
  1. Desinstale seu aplicativo do dispositivo conectado (emulador ou celular)
  2. coloquei o terminal na pasta do projeto cd android 3 na próxima execução ./gradlew clean, limpe sua compilação 4 cd..e execute abaixo de 5 react-native run-android
Pawan
fonte