web-dev-qa-db-fra.com

[INSTALL_FAILED_NO_MATCHING_ABIS: Échec d'extraction des bibliothèques natives, res = -113]

J'ai un problème avec les bibliothèques tierces importées dans mon projet.

J'ai lu beaucoup d'articles à ce sujet, mais je ne sais pas comment le gérer correctement.

Je mets mes classes .so dans le dossier.

enter image description here

Le problème est que je tente d'exécuter l'application que je reçois

[INSTALL_FAILED_NO_MATCHING_ABIS: Failed to extract native libraries, res=-113]
34
Oleg Gordiichuk

25 juillet 2019:

Je faisais face à ce problème dans Android Studio 3.0.1:

Après avoir vérifié de nombreux articles, voici Fix qui fonctionne:

Accédez au module build.gradle et dans le bloc Android, ajoutez ce script:

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

Solution simple. N'hésitez pas à commenter. Merci.

63
Shobhakar Tiwari

13 septembre 2018 Cela a fonctionné pour moi lorsque j'ai ajouté plusieurs types et défini niversalApk avec false pour réduire la taille d'apk.

splits {
    abi {
        enable true
        reset()
        include 'x86', 'x86_64', 'armeabi', 'armeabi-v7a', 'mips', 'mips64', 'arm64-v8a'
        universalApk false
    }
}
10
Mostafa Anter

J'ai rencontré le même problème dans l'émulateur, mais je l'ai résolu comme ceci:

Créer un nouvel émulateur avec une image système x86_64 (ABI)

sélectionnez le périphérique

sélectionnez x86_64

C'est ça.

Cette erreur indique que le système (périphérique) n'est pas capable d'exécuter l'application.

J'espère que cela est utile à quelqu'un.

4
Divakar Murugesh

Mon application fonctionnait sur l'API 26 x 86 du Nexus 5X (périphérique virtuel sur émulateur) sans erreur, puis j'ai inclus un AAR tiers. Ensuite, il continue à donner cette erreur. J'ai nettoyé, reconstruit, coché/décoché l'option d'exécution instantanée, effacé les données dans AVD, effectué le démarrage à froid, mais le problème persiste. Ensuite, j'ai essayé la solution trouvée ici . il/elle dit que ajouter des séparations et des blocs abi pour 'x86', 'armeabi-v7a' dans le fichier build.gradle du module et qu’il est hallelujah, il est à nouveau propre et frais :)

Edit: Sur ce post La solution de Driss Bounouar semble être la même. Mais mon émulateur était au format x86 avant d’ajouter le nouvel émulateur AAR et HAXM fonctionnait déjà.

3
Gultekin

Après un certain temps, j'étudie et je comprends que le chemin a été trouvé, ma bibliothèque a raison. J'ai juste besoin d'ajouter des dossiers pour différentes architectures:

  • Image système ARM EABI v7a

  • Intel x86 Atom Image système

  • Image système MIPS

  • API Google

2
Oleg Gordiichuk

Toute personne confrontée à cela lors de l'utilisation de cmake build, s'assure que vous avez bien inclus les quatre plates-formes prises en charge dans le bloc Android {} de votre module d'application:

 externalNativeBuild {
            cmake {
                cppFlags "-std=c++14"
                abiFilters "arm64-v8a", "x86", "armeabi-v7a", "x86_64"
            }
        }
0
Ratul Doley

Si vous rencontrez cette erreur en travaillant avec votre projet Flutter, vous pouvez ajouter le code suivant dans le module build.gradle et dans Android block puis dans le bloc defaultConfig. Cette erreur s'est produite lorsque j'essayais de créer un apk flutter.

Android{
    ...
    defaultConfig{
        ...
        //Add this ndk block of code to your build.gradle
        ndk {
            abiFilters 'armeabi-v7a', 'x86', 'armeabi'
        }
    }
}
0
Abel Tilahun