armeabi, armeabi-v7a, arm64-v8a y x86 en android

1.Tipo de CPU del dispositivo Android

1. armeabiv-v7a: procesadores ARM de séptima generación y superiores. Lo utilizan la mayoría de los dispositivos Android producidos después de mayo de 2011.
2. arm64-v8a: procesador ARM de 64 bits de octava generación, pocos dispositivos, el Samsung Galaxy S6 es uno de ellos.
3. armeabi: los procesadores ARM de quinta y sexta generación se utilizan principalmente en los primeros teléfonos móviles.
4. x86: Se utiliza más en tabletas y emuladores.
5. x86_64: tableta de 64 bits

Los dispositivos armeabi solo son compatibles con armeabi, no admiten operaciones de punto flotante asistidas por hardware y admiten todos los dispositivos ARM*; los dispositivos
armeabi-v7a son compatibles con armeabi-v7a, armeabi; los dispositivos
arm64-v8a son compatibles con arm64-v8a, armeabi -v7a, armeabi; los dispositivos
x86 son compatibles con x86, armeabi; el dispositivo
x86_64 es compatible con x86_64, x86, armeabi; el dispositivo
mips64 es compatible con mips64, mips;
mips solo es compatible con mips;

2.Cómo cargar archivos .so en dispositivos Android

Tomando el dispositivo arm64-v8a como ejemplo, el dispositivo Android primero busca la carpeta arm64-v8a en el directorio libs. Si hay una carpeta pero no una biblioteca, se informará un error. Si no hay una carpeta arm64-v8a, irá a la carpeta armeabi-v7a. Si no se puede encontrar la carpeta armeabi-v7a, busque la carpeta armeabi y ejecútela en esta carpeta.

3. Operación práctica

De la compatibilidad anterior, podemos ver que diferentes dispositivos son básicamente compatibles con la biblioteca so de armeabi, pero existen problemas de eficiencia y rendimiento.

Descompile WeChat. Solo hay la carpeta armeabi en él. Debe colocar archivos SO de otras arquitecturas en este directorio y luego usar código para seleccionar qué archivo SO de arquitectura cargar.

Hay muy pocos teléfonos móviles que utilizan armeabi y casi se ignoran.

Para reducir el tamaño del apk, mantenga solo dos carpetas, armeabi y armeabi-v7a, y asegúrese de que la cantidad de archivos .so en estas dos carpetas sea la misma.

Para terceros que solo proporcionen la versión armeabi, cópiela en la carpeta armeabi-v7a tal como está.

Guess you like

Origin blog.csdn.net/weixin_42504805/article/details/131855657