INSTALL_FAILED_NO_MATCHING_ABISé quando você está tentando instalar um aplicativo que possui bibliotecas nativas e não possui uma biblioteca nativa para sua arquitetura de CPU. Por exemplo, se você compilou um aplicativo para o armv7 e está tentando instalá-lo em um emulador que usa a arquitetura Intel , ele não funcionará.
@DanielOchoa É porque eles não costumam manter duas imagens para uma versão prévia. Quando L é lançado oficialmente, tenho certeza de que também haverá uma imagem Intel x86.
Hiemanshu Sharma
1
Como superar esse problema. Estou usando o Genymotion Emulater e instalo gapps e o Genymotion-ARM-Translation_v1.1 ainda está recebendo esse problema.
Prashant Maheshwari Andro
3
Se você tem esse problema no Genymotion, mesmo ao usar o conversor ARM, é porque está criando um dispositivo virtual x86 como o Google Nexus 10. Escolha um dispositivo virtual ARM, como um dos Tablets personalizados.
enl8enmentnow
1
Alguma idéia de por que isso não funcionará em um Nexus 9 executando o 5.1.1. Funciona bem em um tablet Sony Xperia Z2 executando 4.4.2. Compilado Sdk 21, min 17 e abdicado 22.
Bear
3
Eu tive esse problema ao usar o emulador do Android Studio para um Nexus 5x na minha máquina Windows. Por motivos de velocidade [10x mais rápido], o padrão é simular o telefone como se estivesse trabalhando com uma arquitetura Intel x86 [o Snapdragon 808 do Nexus 5x é realmente baseado no ARM: tomshardware.com/reviews/lg-g4,4353-2.html ] . Corrigi o erro ao entrar no gerenciador do AVD, selecionando o dispositivo simulado que estava me dando o erro e clicando no botão Editar, onde configuro uma arquitetura ARM (armeabi-v7a). Após esta alteração, mais emulador reiniciar a instalação passou sem problemas
Antonino
150
INSTALL_FAILED_NO_MATCHING_ABIS é quando você está tentando instalar um aplicativo que possui bibliotecas nativas e não possui uma biblioteca nativa para sua arquitetura de CPU. Por exemplo, se você compilou um aplicativo para o armv7 e está tentando instalá-lo em um emulador que usa a arquitetura Intel, ele não funcionará.
Usando o Xamarin no Visual Studio 2015.
Corrija esse problema:
Abra seu xamarin .sln
Clique com o botão direito do mouse no seu projeto android
Propriedades do clique
Clique em Opções do Android
Clique na guia "Avançado"
Em "Arquiteturas suportadas", verifique o seguinte:
armeabi-v7a
x86
Salve
F5 (compilação)
Edit: Esta solução foi relatada como funcionando no Visual Studio 2017 também.
Edição 2: esta solução também foi relatada como funcionando no Visual Studio 2017 para Mac .
Essa solução também funcionou no Visual Studio 2017, para um projeto Xamarin.Android.
Corentinaltepe
1
Isso também funcionou para mim ao usar um projeto Android WebView App
JRodd
4
Parece que no Xamarin, a cada novo dia, há um novo obstáculo inesperado que me impede de executar meu aplicativo (que funcionou ontem). Como meu arquivo csproj está no dropbox, eu pude verificar o histórico da versão, e essa propriedade não estava no arquivo ontem, estava totalmente ausente. Hoje, tive que adicionar a opção x86 para fazer o aplicativo funcionar. Por que diabos o xamarin ou o Android está subitamente usando diferentes valores padrão? Isso é tão frustrante! De qualquer forma, graças a pessoas como você, eu posso superar e continuar o trabalho. Muito obrigado e +1 por você!
TMan
2
Gostaria de poder votar mais de uma vez ... Testado e trabalhando no VS 2017 para Mac.
JordiVilaplana
Para Visual Studio Community 2019 para Mac: 1. Clique com o botão direito do mouse no seu projeto Android 2. Clique em Opções 3. Clique em Android Build 4. Avançado
null em
87
Estou postando uma resposta de outro segmento, porque é o que funcionou bem para mim, o truque é adicionar suporte para as duas arquiteturas:
Postando isso porque não consegui encontrar uma resposta direta e tive que olhar para algumas postagens diferentes para conseguir o que queria ...
Consegui usar o emulador x86 Accelerated (HAXM) simplesmente adicionando isso ao script build.gradle do meu módulo Dentro do bloco android {}:
splits {
abi {
enable true
reset()
include 'x86','armeabi-v7a'
universalApk true}}
Executar (compilar) ... Agora haverá um (yourapp) -x86-debug.apk na sua pasta de saída. Tenho certeza de que existe uma maneira de automatizar a instalação no Run, mas inicio o emulador HAXM preferido e uso a linha de comando:
Em algumas APIs usadas, você precisa adicionar o "ARM Translation Installer v1.1" e "GApps para sua versão do Android".
precisa saber é
4
ATUALIZAÇÃO 28 de maio de 2017: Este guia não é mais suportado e provavelmente não funciona. Por favor, não o utilize ou peça mais suporte. de xda-developers
AndroidCoolestRulest
1
Você pode seguir este link para instalar o ARM Translation
Devansh Maurya
37
Este é realmente um erro estranho que pode ser causado pelo multidexing do seu aplicativo. Para contornar isso, use o seguinte bloco no arquivo build.gradle do seu aplicativo :
android {
splits {
abi {
enable true
reset()
include 'x86','armeabi-v7a'
universalApk true}}...[rest of your gradle script]
Oi. Isso fez com que meu projeto fosse construído com êxito, mas ainda assim me deu o mesmo erro. Estou trabalhando no mac, genymotion. Além disso, em geral, essas configurações que você disse são apenas para a versão de depuração ou também para a compilação de lançamento?
MyDoggyWritesCode
@ user3241111 Isto pode ser utilizado para depuração e prod. Você já tentou limpar seu projeto. Ou talvez invalidar / reiniciar o Android Studio?
IgorGanapolsky
1
@ user3241111 Se você estiver usando gradlew para compilar terminais de linha de comando, ainda poderá limpar seu projeto com gradle.
IgorGanapolsky
1
Eu tentei esta solução, funcionou .. No meu projeto, não havia APP_ABI. Mas eu o adicionei de acordo e ele cria apenas um apk e funciona. stackoverflow.com/a/35565901/3241111
myDoggyWritesCode
1
Além disso, eu adicionei habilitado daemon Gradle e tem passeado o processo tanto ... De qualquer forma, obrigado por seu apoio :)
myDoggyWritesCode
11
Eu sei que havia muitas respostas aqui, mas a versão TL; DR é essa (se você estiver usando o Xamarin Studio):
Clique com o botão direito do mouse no projeto Android na árvore de soluções
Selecione Options
Vamos para Android Build
Vá para a Advancedguia
Verifique as arquiteturas que você usa no emulador (provavelmente x86/ armeabi-v7a/ armeabi)
Muito obrigado, você salva meu dia. Eu não sei por que eu recebi: implementação 'org.apache.directory.studio:org.apache.commons.io:2.4' #
Pierrick HYMBERT 18/18
7
O comentário de @ enl8enmentnow deve ser uma resposta para corrigir o problema usando o genymotion:
Se você tem esse problema no Genymotion, mesmo ao usar o conversor ARM, é porque está criando um dispositivo virtual x86 como o Google Nexus 10. Escolha um dispositivo virtual ARM, como um dos Tablets personalizados.
Estou trabalhando no mac e provavelmente é compilação para dispositivo virtual x86. Eu tentei com tablet costume genymotion também, que não funcionou, e deu mesmo erro durante a instalação
myDoggyWritesCode
7
isso funcionou para mim ... Android> Scripts Gradle> build.gradle (Módulo: app) adicionar dentro do android *
Eu tive esse problema usando a biblioteca bitcoinJ (org.bitcoinj: bitcoinj-core: 0.14.7) adicionada ao build.gradle (no módulo de aplicativo) opções de empacotamento dentro do escopo do Android. isso me ajudou.
Obrigado. Isso me ajudou com a integração do Bitcoin J.
Umer Kiani
Graças tanto de você eu sou experimentar muitas solução, mas esta solução funciona para mim para mim Meu problema é para Scrypt-1.4.0.jar não instalar na versão android Pie (Nokia 7.1) Dispositivo
Sagar Pithiya
3
No meu caso, em um projeto xamarin, no erro do visual studio removido pela seleção de propriedades -> Opções do Android e marque Usar tempos de execução de compartilhamento e Usar implantação rápida, em alguns casos um deles
Para genymotion no mac, eu estava recebendo o erro INSTALL_FAILED_NO_MATCHING_ABIS durante a instalação do meu apk.
No meu projeto, não havia "APP_ABI", mas eu o adicionei de acordo e ele criou apenas um apk para as duas arquiteturas, mas funcionou.
https://stackoverflow.com/a/35565901/3241111
Basicamente, se você tentou Tudo acima e ainda tem o mesmo erro "Como também estou enfrentando esse problema antes", verifique qual arquivo .jar ou .aar ou módulo que você adicionou pode ser a única biblioteca que usa o ndk e que não suporta 8.0 (Oreo) +, da mesma forma, estou usando o Microsoft SignalR socket Library adicionando seus arquivos .jar e, finalmente, descobri que o aplicativo não está sendo instalado no Oreo e depois removo a biblioteca porque atualmente não há solução na sua página git e vou para outra. .
Portanto, verifique a biblioteca que você está usando e pesquise sobre ela, se você precisar dela.
Eu enfrentei esse problema ao passar do Android 7 (Nougat) para o Android 8 (Oreo).
Eu tentei várias maneiras listadas acima e, para minha má sorte, nada funcionou.
Então, mudei o arquivo .apk para o arquivo .zip e o extraí e encontrei a pasta lib com a qual este arquivo estava lá /x86_64/darwin/libscrypt.dylib. Para remover isso, adicionei um código no meu módulo build.gradle abaixo da seção android (ou seja, )
Em geral, para descobrir qual dependência de biblioteca possui ABI incompatível,
criar um arquivo APK no Android Studio (menu Build> Build Bundle (s) / APK (s)> Build APK (s)) // real em 01.04.2020
renomear o arquivo APK, substituindo a extensão "apk" pela extensão "zip"
descompacte o arquivo zip em uma nova pasta
vá para a pasta libs
descubra quais bibliotecas * .jar com ABIs incompatíveis existem
Você pode tentar atualizar a versão / remover / substituir essas bibliotecas para resolver o INSTALL_FAILED_NO_MATCHING_ABIS ao instalar o problema do apk
Isso aconteceu comigo. Eu verifiquei o SDK Manager e ele me disse que o que eu estava usando tinha uma atualização. Eu atualizei e o problema desapareceu.
Tarde demais, mas acabei encontrando isso. Isto é para Xamarin.Android. Verifique se você não está tentando depurar no modo de liberação. Eu recebo exatamente o mesmo erro se estiver no modo de lançamento e tentando depurar. Simplesmente alternar do release para o debug permitiu que o meu fosse instalado corretamente.
Respostas:
INSTALL_FAILED_NO_MATCHING_ABIS
é quando você está tentando instalar um aplicativo que possui bibliotecas nativas e não possui uma biblioteca nativa para sua arquitetura de CPU. Por exemplo, se você compilou um aplicativo para o armv7 e está tentando instalá-lo em um emulador que usa a arquitetura Intel , ele não funcionará.fonte
Usando o Xamarin no Visual Studio 2015. Corrija esse problema:
Em "Arquiteturas suportadas", verifique o seguinte:
Salve
Edit: Esta solução foi relatada como funcionando no Visual Studio 2017 também.
Edição 2: esta solução também foi relatada como funcionando no Visual Studio 2017 para Mac .
fonte
Estou postando uma resposta de outro segmento, porque é o que funcionou bem para mim, o truque é adicionar suporte para as duas arquiteturas:
Postando isso porque não consegui encontrar uma resposta direta e tive que olhar para algumas postagens diferentes para conseguir o que queria ...
Consegui usar o emulador x86 Accelerated (HAXM) simplesmente adicionando isso ao script build.gradle do meu módulo Dentro do bloco android {}:
Executar (compilar) ... Agora haverá um (yourapp) -x86-debug.apk na sua pasta de saída. Tenho certeza de que existe uma maneira de automatizar a instalação no Run, mas inicio o emulador HAXM preferido e uso a linha de comando:
fonte
(yourapp)-x86-debug.apk
arquivo na saída do meu projeto.Se você estiver usando o Genymotion, precisará instalar o ARM Translation and GApps
fonte
Este é realmente um erro estranho que pode ser causado pelo multidexing do seu aplicativo. Para contornar isso, use o seguinte bloco no arquivo build.gradle do seu aplicativo :
fonte
Eu sei que havia muitas respostas aqui, mas a versão TL; DR é essa (se você estiver usando o Xamarin Studio):
Options
Android Build
Advanced
guiax86
/armeabi-v7a
/armeabi
)fonte
Esta solução funcionou para mim. Tente isso, adicione as seguintes linhas no arquivo build.gradle do seu aplicativo
fonte
No Android 8:
fornece INSTALL_FAILED_NO_MATCHING_ABIS, tente alterá-lo para 2.5 ou 2.6 e funcionará ou comentará.
fonte
O comentário de @ enl8enmentnow deve ser uma resposta para corrigir o problema usando o genymotion:
fonte
isso funcionou para mim ... Android> Scripts Gradle> build.gradle (Módulo: app) adicionar dentro do android *
fonte
Visual Studio mac - você pode alterar o suporte aqui:
fonte
Eu tive esse problema usando a biblioteca bitcoinJ (org.bitcoinj: bitcoinj-core: 0.14.7) adicionada ao build.gradle (no módulo de aplicativo) opções de empacotamento dentro do escopo do Android. isso me ajudou.
fonte
No meu caso, em um projeto xamarin, no erro do visual studio removido pela seleção de propriedades -> Opções do Android e marque Usar tempos de execução de compartilhamento e Usar implantação rápida, em alguns casos um deles
fonte
Para genymotion no mac, eu estava recebendo o erro INSTALL_FAILED_NO_MATCHING_ABIS durante a instalação do meu apk.
No meu projeto, não havia "APP_ABI", mas eu o adicionei de acordo e ele criou apenas um apk para as duas arquiteturas, mas funcionou. https://stackoverflow.com/a/35565901/3241111
fonte
Na edição da comunidade do visual studio 2017, às vezes a seleção de ABIs suportadas nas Opções do Android não funciona.
Nesse caso, verifique se o .csproj tem a seguinte linha e nenhuma linha duplicada nas mesmas configurações de compilação.
Para editar,
fonte
Basicamente, se você tentou Tudo acima e ainda tem o mesmo erro "Como também estou enfrentando esse problema antes", verifique qual arquivo .jar ou .aar ou módulo que você adicionou pode ser a única biblioteca que usa o ndk e que não suporta 8.0 (Oreo) +, da mesma forma, estou usando o Microsoft SignalR socket Library adicionando seus arquivos .jar e, finalmente, descobri que o aplicativo não está sendo instalado no Oreo e depois removo a biblioteca porque atualmente não há solução na sua página git e vou para outra. .
Portanto, verifique a biblioteca que você está usando e pesquise sobre ela, se você precisar dela.
fonte
Eu enfrentei esse problema ao passar do Android 7 (Nougat) para o Android 8 (Oreo).
Eu tentei várias maneiras listadas acima e, para minha má sorte, nada funcionou.
Então, mudei o arquivo .apk para o arquivo .zip e o extraí e encontrei a pasta lib com a qual este arquivo estava lá /x86_64/darwin/libscrypt.dylib. Para remover isso, adicionei um código no meu módulo build.gradle abaixo da seção android (ou seja, )
Problema de saúde resolvido
fonte
Em geral, para descobrir qual dependência de biblioteca possui ABI incompatível,
Você pode tentar atualizar a versão / remover / substituir essas bibliotecas para resolver o INSTALL_FAILED_NO_MATCHING_ABIS ao instalar o problema do apk
fonte
Isso aconteceu comigo. Eu verifiquei o SDK Manager e ele me disse que o que eu estava usando tinha uma atualização. Eu atualizei e o problema desapareceu.
fonte
Tarde demais, mas acabei encontrando isso. Isto é para
Xamarin.Android
. Verifique se você não está tentando depurar no modo de liberação. Eu recebo exatamente o mesmo erro se estiver no modo de lançamento e tentando depurar. Simplesmente alternar do release para o debug permitiu que o meu fosse instalado corretamente.fonte
No meu caso, eu precisava baixar a versão x86 do aplicativo.
fonte
No meu caso, definir opções a seguir me ajuda
fonte