El kit de desarrollo nativo de Android (NDK) proporciona una herramienta de compilación cruzada para compilar código escrito en C / C++ que se puede compilar en ARM o en código nativo x86 (o sus variantes de 64 bits ) para Android . [3] [4] El NDK utiliza el compilador Clang para compilar C/C++. GCC se incluyó hasta NDK r17, pero se eliminó en r18 en 2018.
Se pueden llamar a las bibliotecas nativas desde el código Java que se ejecuta en Android Runtime usando System.loadLibrary
, parte de las clases estándar de Java de Android. [5] [6]
Las herramientas de línea de comandos se pueden compilar con el NDK e instalar usando adb. [7]
Android utiliza Bionic como biblioteca C y LLVM libc++ como biblioteca estándar de C++ . El NDK también incluye una variedad de otras API: [8] compresión zlib , gráficos OpenGL ES o Vulkan , audio OpenSL ES y varias API específicas de Android para cosas como registro, acceso a cámaras o aceleración de redes neuronales .
El NDK incluye soporte para CMake y el suyo propio ndk-build
(basado en GNU Make ). Android Studio admite la ejecución de cualquiera de estos desde Gradle . Otras herramientas de terceros permiten integrar el NDK en Eclipse [9] y Visual Studio . [10]
Para la creación de perfiles de CPU , el NDK también incluye simpleperf [11] , que es similar a la herramienta de rendimiento de Linux , pero con mejor soporte para Android y específicamente para pilas mixtas de Java/C++.
{{cite book}}
: Mantenimiento CS1: falta el editor de la ubicación ( enlace ){{cite book}}
: Mantenimiento CS1: falta el editor de la ubicación ( enlace )