Tabla de contenido
Compatible con pasos de 64 bits
1. Configure ndk para admitir arm64
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
7. Realizar verificación de prueba
fondo
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
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