Hay archivo Application.mk en unos parámetros de comandos predefinidos APP_ABI, compilación y depuración se especifica la arquitectura de la CPU.
sistema Android es compatible con la siguiente arquitectura siete diferentes CPU: ARMv5, ARMv7 (a partir de 2010), 86 (a partir de 2011), MIPS (desde 2012), ARMv8, MIPS64 y x86_64 (2014), cada uno de los cuales corresponde a un respectivo ABI.
arquitectura de la CPU | AYUDA | |
ARMv5 | armeabi | 32, a partir de 2010 |
ARMv7 | armeabi-v7a | 32, a partir de 2010 |
x86 | x86 | 32, a partir de 2011 |
MIPS | MIPS | 32 a partir de 2012 |
ARMv8 | arm64-V8A | 64, 2014 |
MIPS64 | mips64 | 64, 2014 |
x86_64 | x86_64 | 64, 2014 |
Correspondiente generación arm64-V8A, mips64, los documentos requeridos en la versión x86_64 apoya NDK_r10 anteriormente. APP_ABI contenido en el archivo de configuración Application.mk. Por ejemplo, indicar que una arquitectura de CPU en particular
APP_ABI: = arm64-V8A
O directamente generar todas las ediciones
APP_ABI: = ALL
Nota: Dependiendo de la versión de NDK, APP_ABI: = all sólo generan versión es compatible con el archivo de depósito actuales ABI, si usted necesita para generar la última NDK deben actualizar la versión apropiada.
O indique expresamente el apoyo a la arquitectura de la CPU
APP_ABI: = armeabi, armeabi-v7a, x86, MIPS, arm64-V8A, mips64, x86_64
Nota: (1) el simulador de corriente no sólo x86_64 arm64-V8A, y (2), en la prueba usando una máquina real ARMv8-a, preferiblemente primero a través de adb shell, cat / proc / cpuinfo, para ver la máquina real si-a ARMv8 soporte; (3), ARM32 arm64 algunos parámetros de configuración, y no pueden coexistir, como -msoft-flotador única posición de apoyo ARM32, en bits de arm64 no están soportados.
## Introducción de una .Application.mk
código para C \ C ++ en archivos de SO, archivo Android.mk no hay suficiente luz, también es necesario un archivo Application.mk.
En este artículo se Application.mk una descripción muy detallada.
### 1. Papel
Application.mk algunos compiladores se utilizan para determinar las reglas,
ni un solo documento que proporciona una línea de código, pero todos los archivos relacionados
### 2. posición de estiba
Application.mk y Android.mk encuentra en la misma en el directorio.
Por lo general, colocado bajo src / main / JNI /
JNI es una carpeta nueva para almacenar el código C / C ++ relacionados
Java JNI carpeta y la carpeta es el mismo directorio,
si el resultado .así también crear carpetas en el jniLibs / principal, el .so en la carpeta jniLibs
el blog de referencia: https://blog.csdn.net/wenzhi20102321/article/details/87909907?depth_1-utm_source=distribute.pc_relevant.none-task&utm_source=distribute.pc_relevant.none-task
el blog de referencia: https://blog.csdn.net/qq_31387043/article/details/50899589
el blog de referencia: https://www.cnblogs.com/gamesky/p/11369156.html