INSTALL_FAILED_UPDATE_INCOMPATIBLE quando tento instalar .apk compilado no dispositivo

291

Compilei o iniciador do Trebuchet do CyanogenMod 9 e tentei instalá-lo com o adb:

$ adb install out/target/product/generic/system/app/Trebuchet.apk
3986 KB/s (7870141 bytes in 1.928s)
    pkg: /data/local/tmp/Trebuchet.apk
Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE]

Eu tentei no Nexus S com CM9 e Galaxy Nexus com estoque JB. Por que estou recebendo esse erro?

EDIT: No meu caso, tentei reinstalar o pacote do sistema com o gerenciador de pacotes. Isso não é suportado, então eu tenho esse erro. A origem do erro pode ser diferente no seu caso.

artem
fonte
2
em alguns dispositivos mais recentes com facilidade para múltiplos usuários, verifique se o aplicativo está instalado para outros usuários (por exemplo, login de convidado). Um testador na minha empresa estava lutando com esse problema por uma hora; quando ele veio a mim, levou de 5 a 10 minutos também para mim, para descobrir que o mesmo aplicativo foi instalado sob o login de convidado diferente no dispositivo, por isso não foi sendo mostrado na tela inicial ou nem mesmo em configurações
Shirish Herwade

Respostas:

500

significa que o aplicativo que você deseja instalar já está instalado. basta remover o antigo e tente novamente.

Mustafa Güven
fonte
27
Funcionou para mim, mas também tive que reiniciar uma vez.
Droidgren
28
Eu tive que ir em Configurações -> Gerenciar aplicativos para encontrar o aplicativo e optar por desinstalá-lo a partir daí, pois ele não estava aparecendo em outro lugar.
David Conlisk
23
Também pode ser necessário que você desinstale de todas as contas de usuário (meu Nexus 10 tinha 3 usuários).
precisa
1
@TylerKiser Obrigado pela atenção.
24626 Jacob Holloway
1
e se eu apenas tentar fazer uma atualização de um aplicativo existente? isso iria remover tudo meu último aplicativo salva localmente
milagre-doh
184

Experimentar

adb uninstall package-name

Funciona para mim. Eu removi meu aplicativo usando o Titanium Backup. No entanto, acho que o backup do Titanium não removeu totalmente meu aplicativo.

einverne
fonte
1
Notei a mesma coisa usando o DevDrawer. Isso funcionou.
tir38
1
Obrigado! Isso me salvou de uma enorme dor de cabeça inexplicável. Não tenho certeza de como cheguei nesse estado ... Estou depurando um aplicativo no Xamarin Studio e no Visual Studio e ele funcionou bem até que não estava ... tudo bem.
Jamie
1
Quando tudo na resposta aceita falhou ... funcionou.
DennisWelu
Ótimo! Simples e fácil. Não é necessário reiniciar com esta solução.
Taciosd
Funciona para mim. Antes de tentar desinstalar e reiniciar manualmente, nada muda, apenas com o comando adb funciona. Obrigado.
Ricky.tribbia
101

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" insira a descrição da imagem aqui

Temos que desinstalar manualmente para todos os usuários !, então podemos instalar nosso aplicativo compilado sem problemas.

insira a descrição da imagem aqui

Outras opções:

  • Remova o aplicativo antigo e instale novamente.

  • Use o comando Android Debug Bridge:

    desinstalação adb [NOME DO PACOTE]

Jorgesys
fonte
2
Obrigado! Era disso que eu precisava. Por que e quando eles começaram a fazer dessa maneira?
Nick
aparentemente desde OS 5.0 +
Jorgesys 25/11
1
Inicialmente, não encontrei meu aplicativo desinstalado em Configurações -> Aplicativos. No Lollipop 5.1.1, o aplicativo desinstalado foi listado pelo nome do pacote, não pelo nome do aplicativo. Portanto, se você fez uma desinstalação do adb e a instalação do adb ainda falhar, procure o aplicativo desinstalado sob o nome do pacote. Portanto, com.acme.wileycoyote será listado em ordem alfabética em "c", não "w".
Yojimbo
Obrigado, isso funciona! Meu telefone não tem a opção "Desinstalar para todos os usuários", eu desinstalá-lo, entrando em todos os usuários ...
DawnYu
1
O que "todos os usuários" quando o usuário é exatamente um - ME !!! Enfim, funciona - votado.
WindRider 26/09
21

Duas maneiras que podem ser trabalhadas

1: desinstalar o aplicativo do dispositivo móvel manualmente

2: Abra o prompt de comando, rastreie o caminho adbe execute o seguinte comando

adb uninstall your_package_name
dharam
fonte
2
A única maneira que funciona para dispositivos sem tela.
DenisKolodin
1
por exemplo: "adb desinstalação net.gavin.hello", onde o nome do pacote é em AndroidManifest.xml como "pacote =" net.gavin.hello ""
Gavin Simpson
9

Acabei de renomear o pacote e funcionou para mim.

Ou, se você estiver usando o Ionic, poderá excluir o aplicativo e tentar novamente. Isso ocorre quando o ionic detecta que o aplicativo que está sendo implantado não vem da mesma compilação. Muitas vezes acontece quando você muda do pc.

artem
fonte
Nada mais funcionou para mim. Obrigado pela ótima idéia!
Ken Pespisa
2
Muito trabalho, eu backup e remover apk e reinstalá-lo.
pevik 19/07/2016
não funcionou no Android 6.0.1. Teve que excluir o aplicativo no dispositivo e reinstalar o mesmo pacote.
kakyo
13
"Acabei de renomear o pacote", isso não é solução, na verdade você está criando outro aplicativo!
Jorgesys 8/18
8
  1. vá para: sua pasta adb \ sdk \ platform-tools \
  2. tipo cmd
  3. tipo: adb remount na janela de comando
  4. shell adb
  5. su
  6. rm /system/app/YourApp.apk
  7. Reinicie seu dispositivo
user3278378
fonte
o que remonta? posso usar essa versão de lançamento e depuração de manutenção, montar e remontá-los facilmente?
Piotrek1543
2
Não faz muito sentido como apks usuário não são armazenadas no /system/appmas/data/app
m0skit0
@ piotrek1543 adb remountremonta a partição do sistema como leitura e gravação em vez de somente leitura padrão.
M4skit0
8

A questão era por que ele estava recebendo esse erro. A desinstalação resolverá esse problema, mas no meu caso, enquanto eu instalava a versão compilada do apk, o problema foi solucionado. Eu estava tentando criar uma atualização para o meu aplicativo. Então, o que eu fiz, criei um apk assinado e tentei instalar o apk e o apk instalado perfeitamente. Então, removendo o apk antigo, tive que assinar a atualização mais recente e instalar.

Reaz Murshed
fonte
1
O mesmo aqui. Tente testar o processo de atualização. Portanto, a desinstalação não é uma opção.
Martin
6

Talvez porque você tenha mais de um usuário no dispositivo e acabou de excluir o aplicativo em um ( deixando o apk ainda presente para o (s) outro (s) ).

Excluí todas as contas e funcionou depois.

Neteinstein
fonte
Você quer dizer Contas do Google?
CACuzcatlan 21/09/2015
Sim, exatamente o que eu quero dizer.
Neteinstein 23/09/2015
5

Isso pode acontecer se você assinar seu aplicativo com um certificado diferente. Você sempre pode usar

adb install -r myapk.apk

para substituir um apk existente no seu dispositivo, mas você ainda receberá o erro se tiver assinado o novo apk com um certificado diferente do do apk instalado.

Nesse cenário, você precisaria desinstalar o apk do seu dispositivo antes de tentar uma instalação. No entanto, isso também pode afetar seu aplicativo, pois sua assinatura original pode estar vinculada a determinadas APIs do Desenvolvopor, portanto, você pode precisar atualizar o console com suas novas credenciais.

Pixel
fonte
4

Instalei o gerenciador de arquivos Astro e procurei uma versão anterior do arquivo apk, encontrei um no sdcard e excluí o arquivo apk usando o gerenciador de arquivos Astro.

fll
fonte
4

Se o seu dispositivo suportar vários usuários, talvez seja necessário excluir o aplicativo para cada conta também.

Eu costumo usar adb e isso faz o truque adb uninstall <your-package-name>

Mark Pazon
fonte
4

se o APK estiver embutido no projeto com o arquivo Android.mk. Talvez seja por causa do certificado de sinal ter sido alterado.

no meu problema, adicionei LOCAL_CERTIFICATE: = platform. pois o apk original é assinado sem essa tag.

fordreamxin
fonte
Este é realmente um comentário, não uma resposta. Com um pouco mais de rep, você poderá postar comentários .
Enamul Hassan
2

No meu caso, não havia nenhuma versão do aplicativo que eu pudesse encontrar através do gerenciador de dispositivos ou do Astro.

O que acabei fazendo foi:

1) Faça o download da versão mais recente do aplicativo na App Store

2) O aplicativo ainda não estava visível no gerenciador de dispositivos até reiniciar o dispositivo.

3) Remova o aplicativo do gerenciador de dispositivos

4) Execute meu projeto novamente

5) Tudo funciona

Espero que isso ajude alguém

YKa
fonte
2

C: \ android-sdk \ platform-tools \ adb.exe: falha no comando com o código de saída 1

Saída de erro: adb: falha ao instalar app \ plataformas \ android \ app \ build \ outputs \ apk \ debug \ app-debug.apk: Falha [INSTALL_FAILED_UPDATE_INCOMPATIBLE: Pacote com.example app1as assinaturas não correspondem à versão instalada anteriormente; ignorando!]

Solução:

Você já tem o aplicativo app1instalado no telefone (principalmente o download do play console ou a chave de upload foi alterada)
Desinstale o aplicativo.

Mais detalhes:

É possível que você já tenha esse aplicativo enviado para a Play Store usando a chave de upload, o play console aplicou sua própria assinatura. É por isso que o aplicativo no seu telefone baixado do Google Play não tem a mesma assinatura da sua chave de upload.

Ao desinstalar o aplicativo, não há uma versão do aplicativo da Play Store, portanto, é incorreta quando você instala uma nova versão no telefone.

Espero que ajude.

Manohar Reddy Poreddy
fonte
1

Vá para Configuração / Aplicativos / Pesquise seu aplicativo e desinstale ...

Trabalhou para mim

Luis Colomé
fonte
1
  1. Vá para Configuração / Aplicativos / Procure seu aplicativo e desinstale ...
  2. prompt de comando aberto e "adb uninstall"

Trabalhou para mim

jettimadhuChowdary
fonte
1

Para os usuários do MIUI, além da opção de depuração USB usual, certifique-se de ativar essas configurações também:

Instalar via
depuração USB USB (configurações de segurança)

aceite o aviso ao tentar instalar o aplicativo novamente.

stevyhacker
fonte
1

Eu tive o mesmo problema e fiz o seguinte para corrigi-lo.

  1. Configurações> Armazenamento> Limpar Dados em Cache
  2. Configurações> Aplicativos> Desinstale os aplicativos exibidos lá. Eu havia desinstalado meus aplicativos, mas ele estava sendo exibido lá.
  3. Reinicie e tudo correu bem.
Pankaj
fonte
3
O segundo ponto ajudou. No meu caso, o aplicativo não foi instalado para o usuário atual, mas foi instalado para outros usuários. Então, cliquei no aplicativo na lista de aplicativos e, na página de detalhes, cliquei no botão Mais (três pontos verticais). Lá, havia a opção 'Desinstalar para todos os usuários'. Isso fez por mim. Obrigado!
Harisewak
1

Passei uma hora tentando depurar isso e percebi que estava conectado ao meu emulador em vez do meu telefone. Portanto, mesmo tendo excluído com sucesso o aplicativo no meu telefone, ele ainda estava falhando. Erro estúpido, mas talvez isso ajude alguém.

Adam Katz
fonte
0

No meu caso, instalei o Aplicativo no Playstore e depois, quando estou tentando executar no Eclipse ou no Android Studio , ele tentará instalar novamente no APK que não será permitido.

Então, primeiro de tudo você tem que desinstalar o Siged APK e depois disso você tem que tentar.

Obrigado.

Pratik Butani
fonte
0

RankoR @, você deve ter instalado o aplicativo a partir de um computador diferente. no meu caso, é aí que o problema surgiu .. tudo o que você precisa fazer é desinstalar o aplicativo e reinstalá-lo ou executá-lo no computador em que você está trabalhando .. isso pode ser uma resposta tardia, mas ajudará alguém .. obrigado

Mohammed Nathar
fonte
0

Aconteceu comigo quando instalei uma compilação de desenvolvedores usando o Instant Run e desinstalei do Google Play. Por alguma razão, os dados do Instant Run ainda estão no dispositivo e não podem instalar / desinstalar o aplicativo novamente.

A única maneira de corrigi-lo: - desativar o Instant Run no android studio - instalar no android studio (deve funcionar apenas a partir daqui) - desinstalar o aplicativo

agora deve ser limpo instalar do Google Play ou adb.

Ignacio Tomas Crespo
fonte
0

isso ocorreu se você criar seu apk a partir de outro PC e atualizá-lo a partir de um PC diferente.

Prashant Jajal
fonte
Qual é a solução para este caso?
dpaksoni 17/07/19
0

Se o seu arquivo de manifesto tiver esta linha -

android: sharedUserId = "android.uid.system"

está causando esse erro! apenas comente esta linha e você está pronto para ir !!

DesigningLives
fonte
0

Não vejo ninguém mencionando o meu caso, então deixe-me adicioná-lo - isso acontece quando você cria o aplicativo em um modo (por exemplo, Dev) e tenta substituí-lo por um modo diferente (por exemplo, Produção).

A solução é a mesma dos outros casos - exclua o aplicativo no dispositivo / simulador e execute novamente.

Andrija
fonte
0

Se você estiver tentando depurar em um computador diferente do original, você receberá o temido erro INSTALL_FAILED_UPDATE_INCOMPATIBLE. Contudo, existe uma maneira de prosseguir sem desinstalar o aplicativo e perder seus dados.

Para ver como transferir o debug.keystore necessário para que você não receba a mensagem "O dispositivo já possui um aplicativo com o mesmo aplicativo, mas com uma assinatura diferente. Para prosseguir, você deverá desinstalar o aplicativo existente". (e perca seus dados). Consulte Atualizar o aplicativo em outra máquina com o mesmo debug.keystore no android

Paul Effrem
fonte
0

O Samsung Galaxy Phones possui um recurso conhecido como Pasta segura Removendo o Aplicativo Resolvido O problema para mim.

Também o adb uninstall packagename não pode remover o aplicativo da pasta segura.

Saeed Arianmanesh
fonte