El Android Native Development Kit ( NDK ) proporciona una herramienta de compilación cruzada para compilar código escrito en C / C++ que se puede compilar a ARM o código nativo x86 (o sus variantes de 64 bits ) para Android . [ 4 ] [ 5 ] El NDK utiliza el compilador Clang para compilar C/C++. GCC se incluyó hasta NDK r17, pero se eliminó en r18 en 2018.
Descripción general
Las bibliotecas nativas se pueden llamar desde código Java que se ejecuta bajo el entorno de ejecución de Android usando System.loadLibrary, parte de las clases Java estándar de Android. [ 6 ] [ 7 ]
Las herramientas de línea de comandos se pueden compilar con el NDK e instalar usando adb . [ 8 ]
Android utiliza Bionic como su biblioteca C y LLVM libc++ como su biblioteca estándar C++ . El NDK también incluye una variedad de otras API: [ 9 ] compresión zlib , gráficos OpenGL ES o Vulkan , audio OpenSL ES y varias API específicas de Android para cosas como el registro, el acceso a las cámaras o la aceleración de redes neuronales .
El NDK incluye soporte para CMake y su propia versión ndk-build(basada en GNU Make ). Android Studio admite la ejecución de cualquiera de estas herramientas desde Gradle . Otras herramientas de terceros permiten integrar el NDK en Eclipse [ 10 ] y Visual Studio [ 11 ] .
Para el análisis de rendimiento de la CPU , el NDK también incluye simpleperf [ 12 ], que es similar a la herramienta perf de Linux , pero con mejor soporte para Android y específicamente para pilas mixtas de Java/C++.
Referencias
- ↑ "Android NDK | Desarrolladores de Android" . Developer.android.com. 13 de noviembre de 2012. Consultado el 13 de marzo de 2014 .
- ↑ "Versión 29" . 6 de octubre de 2025. Consultado el 12 de octubre de 2025 .
- ↑ "Descargas de NDK | Desarrolladores de Android" . developer.android.com . Consultado el 24 de abril de 2018 .
- ↑ Ratabouil, Sylvain (2015). Guía para principiantes del Android NDK : descubre el lado nativo de Android e incorpora la potencia de C/C++ en tus aplicaciones (2.ª ed.). Birmingham. ISBN 978-1-78398-965-2OCLC 910639612
{{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace ) - ↑ Kosarevsky, Sergey (2013). Android NDK game development cookbook : over 70 exciting recipes to help you develop mobile games for Android in C++ . Viktor Latypov. Birmingham. ISBN 978-1-78216-779-2OCLC 880639342
{{cite book}}: CS1 mantenimiento: falta el editor de ubicación ( enlace ) - ↑ Srinivas, Davanum (9 de diciembre de 2007). "Android : Invocación de métodos basados en JNI (Uniendo C/C++ y Java)" . Archivado del original el 16 de diciembre de 2008. Recuperado el 13 de diciembre de 2008 .
- ↑ "java.lang.System" . Desarrolladores de Android . Consultado el 3 de septiembre de 2009 .
- ↑ "Android Debug Bridge (adb)" .
- ↑ "API nativas de Android NDK | Android NDK" .
- ↑ "Uso de Eclipse para el desarrollo de Android en C/C++" . 23 de enero de 2011.
- ↑ "Uso de Visual Studio para desarrollar código nativo de Android: tutoriales de VisualGDB" . 30 de abril de 2015.
- ↑ "Simpleperf | Android NDK" .
- Kits de desarrollo de software
- Software de desarrollo para Android (sistema operativo)