web-dev-qa-db-fra.com

Qu'est-ce que armeabi et pourquoi l'utilisent-ils?

Je vois cette bibliothèque (armeabi) plusieurs fois lorsque j'explore des sources ouvertes.

J'ai net cherché une explication, mais tous les résultats que j'ai trouvés parlent de cela et ne le définissent pas.

Qu'est-ce que cet armeabi et pourquoi l'utilisent-ils dans les applications Android?

56
Esmaeel ibrahim

Les appareils Android ont des processeurs. Beaucoup de ces processeurs sont basés sur l'architecture ARM), tandis que certains sont basés sur x86, et quelques autres sont basés sur d'autres éléments comme MIPS.

Certaines Android utilisent le kit de développement natif (NDK) pour créer un code C/C++ à associer à leur application. Le code C/C++ doit être compilé pour une architecture de processeur spécifique. Le NDK place le version du code C/C++ compilée pour chaque architecture dans un répertoire spécifique à l’architecture, l’un de ces répertoires est armeabi/, qui est pour un générique ARM CPU. Il y a aussi armeabi-v7/ (pour un ARM v7)), x86/ (pour les processeurs x86), etc.

93
CommonsWare

[~ # ~] abi [~ # ~] - Interface binaire d'application

[~ # ~] eabi [~ # ~] - Interface binaire d'application intégrée

Ainsi, ARMEABI est des fichiers binaires compilés correspondant à l'architecture de processeur de votre appareil Android.

par exemple.

arm64-v8a (Nexus 5x) - 64 bits - ARM Cortex-A35, ARM Cortex-A53, ARM Cortex-A57, ARM Cortex-A72, ARM Cortex-A73

armeabi-v7a - 32 bits - ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8 , ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-A15, ARM Cortex-A17

enter image description here

Pour inclure *. So binaire jniLibs à l’aide de Android Studio 2.3 placez-les dans le dossier src/main/jniLibs Et ajoutez la configuration suivante à votre fichier * .gradle:

Android {
    sourceSets {
        main {
            jniLibs.srcDirs = ['src/main/jniLibs']
        }
    }
}

dependencies {
    compile fileTree(dir: 'jniLibs', include: ['*.so'])
}

J'ai récemment vu un très bon article relatif aux différents processeurs et des suggestions sur la façon de conserver la taille de l'APK tout en les prenant en charge. L'article donne quelques informations pour ce qui suit:

  • mips
  • mips64
  • X86
  • X86–64
  • arm64-v8a
  • arméa
  • armeabi-v7a
8
cking24343