Este team de especialistas luego de varios días de trabajo y de recopilar de datos, hemos dado con la respuesta, nuestro deseo es que te sea útil para tu trabajo.
Solución:
Los dispositivos Android tienen CPU. Muchas de esas CPU se basan en la arquitectura ARM, mientras que algunas se basan en x86 y algunas otras se basan en otras cosas como MIPS.
Algunas aplicaciones de Android usan el kit de desarrollo nativo (NDK) para crear código C/C++ para vincular a su aplicación. El código C/C++ debe compilarse para una arquitectura de CPU específica. El NDK coloca la versión del código C/C++ compilado para cada arquitectura en un directorio específico de la arquitectura. Uno de esos directorios es armeabi/
, que es para una CPU ARM genérica. También hay armeabi-v7/
(para una CPU compatible con ARM v7), x86/
(para CPU x86), etc.
ITB – Interfaz binaria de aplicación
EABI – Interfaz binaria de aplicación integrada
Entonces ARMEABI son binarios compilados haciendo coincidir la arquitectura de la CPU de su dispositivo Android.
p.ej
arm64-v8a (Nexus 5x) – 64 bits – ARM Cortex-A35, ARM Cortex-A53, ARM Cortex-A57, ARM Cortex-A72, ARM Cortex-A73
armeabi-v7a – 32bit – ARM Cortex-A5, ARM Cortex-A7, ARM Cortex-A8, ARM Cortex-A9, ARM Cortex-A12, ARM Cortex-A15, ARM Cortex-A17
Para incluir *.asi que binario jnilibs usando Android Studio 2.3 colóquelos en src/main/jniLibs
y agregue la siguiente configuración a su archivo *.gradle:
android
sourceSets
main
jniLibs.srcDirs = ['src/main/jniLibs']
dependencies
compile fileTree(dir: 'jniLibs', include: ['*.so'])
Recientemente vi un artículo bastante bueno relacionado con las diferentes CPU y sugerencias sobre cómo mantener el tamaño de APK mientras brinda soporte para ellos. El artículo proporciona información sobre lo siguiente:
- mips
- mips64
- X86
- X86–64
- arm64-v8a
- armeabi
- armeabi-v7a
Recuerda que tienes concesión de reseñar tu experiencia .