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.


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.


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.


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]


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

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.


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

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.


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.


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.


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.


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>


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.


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


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.


1

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

Trabalhou para mim


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

Trabalhou para mim


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.


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.

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.


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.


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


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.



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 !!


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.


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


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.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.