android - versioni - INSTALL_FAILED_NO_MATCHING_ABIS quando apk di installazione




android wikipedia (12)

Ho provato ad installare la mia app su Android L Preview Intel Atom Virtual Device, ma ha fallito con errore:

INSTALL_FAILED_NO_MATCHING_ABIS

Cosa significa?


INSTALL_FAILED_NO_MATCHING_ABIS è quando si sta tentando di installare un'app con librerie native e non ha una libreria nativa per l'architettura della cpu. Ad esempio, se hai compilato un'app per armv7 e stai provando ad installarlo su un emulatore che utilizza l'architettura Intel, non funzionerà.

Utilizzo di Xamarin su Visual Studio 2015. Risolvi il problema con:

  1. Apri il tuo xamarin .sln
  2. Fare clic con il pulsante destro del mouse sul progetto Android
  3. Clicca proprietà
  4. Fai clic su Opzioni Android
  5. Fai clic sulla scheda "Avanzate"
  6. Sotto "Architetture supportate" fai quanto segue:

    1. armeabi-V7A
    2. X 86
  7. salvare

  8. F5 (build)

Modifica: questa soluzione è stata segnalata come funzionante anche in Visual Studio 2017.

Modifica 2: questa soluzione è stata segnalata come funzionante anche in Visual Studio 2017 per Mac .


C'è un modo semplice:

  1. Scollegare il dispositivo collegato
  2. Chiudi lo Studio Android
  3. Riavvia Android Studio
  4. Connetti il ​​dispositivo usando il cavo USB
  5. Premi il pulsante Esegui e fai una pausa caffè

Il commento di @ enl8enmentnow dovrebbe essere una risposta per risolvere il problema usando genymotion:

Se hai questo problema su Genymotion anche quando usi il traduttore ARM è perché stai creando un dispositivo virtuale x86 come il Google Nexus 10. Scegli invece un dispositivo virtuale ARM, come uno dei Custom Tablets.


Molto tardi, ma mi sono imbattuto in questo. Questo è per Xamarin.Android . Assicurati di non provare a eseguire il debug in modalità di rilascio. Ottengo lo stesso identico errore se in modalità di rilascio e tentando di eseguire il debug. Il semplice passaggio da versione a debug ha permesso a my di installarsi correttamente.


Nell'edizione 2017 della community di Visual Studio, a volte la selezione di ABI supportati da Opzioni Android non funziona.

In tal caso, verifica che .csproj abbia la seguente riga e nessuna riga duplicata nelle stesse configurazioni di compilazione.

 <AndroidSupportedAbis>armeabi;armeabi-v7a;x86;x86_64;arm64-v8a</AndroidSupportedAbis>

Per modificare,

  1. Scarica il tuo progetto Android
  2. Fare clic con il tasto destro e selezionare Modifica progetto ...
  3. Assicurati di avere la linea sopra solo una volta in una configurazione di build
  4. Salvare
  5. Fai clic destro sul tuo progetto Android e Ricarica

Per genymotion su mac, stavo ricevendo errore INSTALL_FAILED_NO_MATCHING_ABIS durante l'installazione del mio apk.

Nel mio progetto non c'era alcun "APP_ABI", ma l'ho aggiunto di conseguenza e ha creato un solo apk per entrambe le architetture, ma ha funzionato. https://.com/a/35565901/3241111


Questo è davvero uno strano errore che può essere causato dal multidissaggio della tua app. Per aggirare il problema, utilizza il seguente blocco nel file build.gradle dell'app:

android {
  splits {
    abi {
        enable true
        reset()
        include 'x86', 'armeabi-v7a'
        universalApk true
    }
  }
  ...[rest of your gradle script]

Questo è successo a me. Ho controllato l'SDK Manager e mi ha detto che quello che stavo usando aveva un aggiornamento. L'ho aggiornato e il problema è andato via.


So che c'erano molte risposte qui, ma la versione TL; DR è questa (se usi Xamarin Studio):

  1. Fare clic con il tasto destro del mouse sul progetto Android nell'albero delle soluzioni
  2. Seleziona Options
  3. Vai a Android Build
  4. Vai alla scheda Advanced
  5. Controlla le architetture che usi nel tuo emulatore (Probabilmente x86 / armeabi-v7a / armeabi )
  6. Crea un'app kickass :)

Sto postando una risposta da un altro thread perché è quello che ha funzionato bene per me, il trucco è aggiungere il supporto per entrambe le architetture:

Pubblicando questo perché non sono riuscito a trovare una risposta diretta e ho dovuto guardare un paio di post diversi per ottenere ciò che volevo fare ...

Sono stato in grado di utilizzare l'emulatore accelerato x86 (HAXM) semplicemente aggiungendolo allo script build.gradle del mio modulo all'interno del blocco Android {}:

splits {
        abi {
            enable true
            reset()
            include 'x86', 'armeabi-v7a'
            universalApk true
        }
    }

Esegui (crea) ... Ora nella tua cartella di output sarà presente una (tuapp) -x86-debug.apk. Sono sicuro che c'è un modo per automatizzare l'installazione su Run, ma ho appena avviato il mio emulatore HAXM preferito e uso la riga di comando:

adb install (yourapp)-x86-debug.apk

Visual Studio mac: puoi cambiare il supporto qui:


questo ha funzionato per me ... Android> Scritti Gradle> build.gradle (Modulo: app) aggiungi all'interno di Android *

android {
  //   compileSdkVersion 27
     defaultConfig {
        //
     }
     buildTypes {
        //
     }
    // buildToolsVersion '27.0.3'

    splits {
           abi {
                 enable true
                 reset()
                 include 'x86', 'armeabi-v7a'
                 universalApk true
               }
    }
 }





android