Las aplicaciones arm32-bit son compatibles con los registros arm64-bit

Tabla de contenido

fondo

Compatible con pasos de 64 bits

1. Configure ndk para admitir arm64

2. Construir construir

3. Una vez completada la construcción, analice el paquete apk

 4. Compare los archivos de la biblioteca so en las carpetas lib/armeabi-v7a y lib/arm64-v8a

5. Determine qué dependencias de tres partes faltan para que los archivos de la biblioteca pertenezcan

6. Después de determinar las dependencias, actualice las dependencias o importe directamente los archivos SO de 64 bits correspondientes.

7. Realizar verificación de prueba

Reponer


fondo

Aviso importante sobre el nodo de tiempo de adaptación de 64 bits de Gold Standard Alliance (3) Gold Standard Alliance | ITGSA | Mobile Smart Terminal Ecological Alliance es una organización sin fines de lucro líder en la industria en China, iniciada y establecida conjuntamente por terminales inteligentes líderes en la industria la ecología de la aplicación está estandarizada, normalizada, cumple y es eficiente, lo que mejora el nivel de servicio de la aplicación y las capacidades de toda la industria y promueve el desarrollo común y de beneficio mutuo de la industria. https://www.itgsa.com/home/noticias/info?newsId=5256238539162624

 

La razón principal es que la nueva arquitectura Arm ya no admite la instalación y el uso de aplicaciones de 32 bits, por lo que las aplicaciones antiguas deben ser compatibles con el procesamiento de 64 bits.

Compatible con pasos de 64 bits

Documento de referencia oficial de Google: https://developer.android.com/distribute/best-practices/develop/64-bit?hl=zh-cn#guidelines-ndk

1. Configure ndk para admitir arm64

armeabi-v7a debe mantenerse, será útil en el futuro, y si es compatible con la nueva máquina, la máquina anterior también debe ser compatible, algunas máquinas antiguas solo admiten 32 bits (es el dispositivo pda de UnionPay, Uboxun I9000S)

ndk { abiFilters "armeabi-v7a", "arm64-v8a" }

2. Construir construir

3. Una vez completada la construcción, analice el paquete apk

[compilar - Analizar APK...] Seleccione ~/app/build/outputs/apk/debug/app-debug.apk en el directorio del proyecto

Espere a que se complete el análisis

 4. Compare los archivos de la biblioteca so en las carpetas lib/armeabi-v7a y lib/arm64-v8a

Vea qué archivos de biblioteca faltan en lib/arm64-v8a

5. Determine qué dependencias de tres partes faltan para que los archivos de la biblioteca pertenezcan

Referencia: [Desarrollo de Android] Cómo saber rápidamente de qué biblioteca proviene un determinado so_vista de Android so source_and blowing_Bassy's blog-CSDN blog A veces es necesario averiguar de qué biblioteca provienen algunos archivos para que se puedan eliminar fácilmente. El siguiente es un pequeño truco: en el build.gradle del módulo de la aplicación, agregue el siguiente código: //Enumere toda la información de la biblioteca que contiene los archivos task.whenTaskAdded { task -> if (task.name=='mergeBiDebugNativeLibs') { //Si hay varios sabores, use la forma de mergeFlavorDebugNativeLibs task.doFirst { ... https://blog.csdn.net/eieihihi/article/details/109289312

Además, algunos archivos se importaron manualmente, por lo que los archivos no pueden encontrar sus dependencias a través del método del artículo anterior, por lo que debe usar los registros históricos de los archivos importados en git para determinar qué función se introdujo al implementar y luego, básicamente, saber qué dependencia es. arriba

6. Después de determinar las dependencias, actualice las dependencias o importe directamente los archivos SO de 64 bits correspondientes.

Dependencias de actualización: por ejemplo, la dependencia de Fresco que encontré, actualicé directamente de 1.10.0 a 1.13.0, ¿por qué no actualizar a una versión superior, porque la versión superior es androidx, mi proyecto anterior lamentablemente todavía es compatible, no hay planes para emigrar

7. Realizar verificación de prueba

Reponer

Si su aplicación se ejecuta en una caja registradora de doble pantalla (como Sunmi x2), el dispositivo es de 64 bits y necesita usar el teclado UnionPay mis (32 bits) para cobrar los pagos, entonces debe determinar si el sdk que llama al teclado mis admite 64 bits; de lo contrario, la aplicación no es compatible con 64 bits

Supongo que te gusta

Origin blog.csdn.net/weixin_41786574/article/details/131121996
Recomendado
Clasificación