Android NDK
Android NDK software | |
---|---|
Genere | |
Sviluppatore | |
Data prima versione | giugno 2009 |
Ultima versione | r27c (16 ottobre 2024) |
Sistema operativo | Multipiattaforma |
Linguaggio | C C++ |
Lingua | Inglese |
Sito web | developer.android.com/ndk/ |
L'Android Native Development Kit (NDK) è un insieme di strumenti che consente la cross-compilazione per la compilazione di codice scritto in C/C++ che può essere compilato in codice nativo ARM o x86 (incluse le relative varianti a 64 bit) per Android.[1][2] L'NDK utilizza il compilatore Clang per la compilazione del codice C/C++. Fino alla versione r17 dell'NDK era incluso anche il compilatore GCC, che è stato successivamente rimosso a partire dalla versione r18 del 2018.
Panoramica
[modifica | modifica wikitesto]Le librerie native possono essere chiamate dal codice Java in esecuzione su Android Runtime utilizzando System.loadLibrary
, facente parte delle classi Java standard di Android.[3][4]
Gli strumenti da riga di comando possono essere compilati con l'NDK e installati tramite adb.[5]
Android utilizza Bionic come libreria C e LLVM libc++ come libreria standard C++ . L'NDK include inoltre svariate API:[6] compressione zlib, grafica OpenGL ES o Vulkan, audio OpenSL ES e diverse API specifiche di Android per funzionalità come il logging, l'accesso alle telecamere o l'accelerazione delle reti neurali.
L'NDK offre il supporto per CMake e per il proprio sistema ndk-build
(basato su GNU Make). Android Studio consente l'esecuzione di entrambi tramite Gradle. Strumenti di terze parti permettono di integrare l'NDK in Eclipse[7] e Visual Studio.[8]
Per il profiling della CPU, l'NDK include anche simpleperf,[9] uno strumento simile a perf di Linux, ma con un supporto migliore per Android e specificamente per stack misti Java/C++.
Note
[modifica | modifica wikitesto]- ^ Sylvain Ratabouil, Android NDK beginner's guide : discover the native side of Android and inject the power of C/C++ in your applications, 2ª ed., 2015, ISBN 978-1-78398-965-2, OCLC 910639612.
- ^ Sergey Kosarevsky, Android NDK game development cookbook : over 70 exciting recipes to help you develop mobile games for Android in C++, 2013, ISBN 978-1-78216-779-2, OCLC 880639342.
- ^ Davanum Srinivas, Android — Invoke JNI based methods (Bridging C/C++ and Java), su davanum.wordpress.com, 9 dicembre 2007. URL consultato il 13 dicembre 2008 (archiviato dall'url originale il 16 dicembre 2008).
- ^ java.lang.System, su Android Developers. URL consultato il 3 settembre 2009.
- ^ Android Debug Bridge (adb), su developer.android.com.
- ^ Android NDK Native APIs | Android NDK, su developer.android.com.
- ^ Using Eclipse for Android C/C++ Development, su mhandroid.wordpress.com, 23 gennaio 2011.
- ^ Using Visual Studio to Develop Native Android Code – VisualGDB Tutorials, su visualgdb.com, 30 aprile 2015.
- ^ Simpleperf | Android NDK, su developer.android.com.