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á.