Programarea în "C" pentru Android
Android SDK
Google oferă un set standard de instrumente care permit programatorilor să creeze aplicații pentru platforma Android sub forma echipei lor de dezvoltare software sau SDK. Acesta include un simulator de sistem Android pentru proiectele de testare și instrumentele de ambalare pentru a crea un fișier pe care Android îl poate rula de la codul sursă al proiectului. SDK include, de asemenea, biblioteci pentru a permite aplicațiilor scrise în Java să interacționeze cu funcțiile avansate ale sistemului de operare Android.
Android NDK
Dezvoltatorii care doresc să creeze aplicații sau componente de aplicații în limbajul de programare C pot descărca echipa de dezvoltare nativă de la Google sau NDK. Aceasta este o colecție de biblioteci similare cu cele din SDK. Cu toate acestea, ele se află în limba de programare C în loc de Java. Dezvoltatorii pot folosi aceste biblioteci pentru a dezvolta pentru Android în C în același mod în care bibliotecile SDK permit dezvoltarea Java.
Utilizarea NDK
NDK nu funcționează ca o echipă independentă de dezvoltare. În schimb, este o extensie a SDK-ului. Dezvoltatorii trebuie să instaleze setul SDK ca platformă în care să descarce, să utilizeze și să actualizeze alte componente de dezvoltare. Acestea includ NDK. Dezvoltatorii folosesc în continuare instrumentele SDK pentru a crea pachetele ".apk" pe care Android le rulează ca aplicații, simulatorul SDK pentru a testa aplicațiile și instrumentele SDK-ului pentru a transfera pachetele .apk într-un adevărat dispozitiv Android.
C sau Java
Limba Java funcționează prin compilarea codului sursă într-o formă intermediară numită bytecode, ale cărei JVM-uri sunt traduse în codul mașinii pe care rulează dispozitivul. În acest proces, JVM va optimiza automat codul mașinii pe care îl produce. Aceasta salvează timpul programatorului pentru a încerca să optimizeze codul. Cu toate acestea, programatorii care lucrează în limbajul C controlează direct modul în care codul compilat al aparatului va arăta. Aceasta permite dezvoltatorilor de aplicații care doresc să-și exercite acest nivel detaliat de control asupra codului lor pentru a face acest lucru. În plus, permite dezvoltatorilor care au scris un număr mare de coduri pentru un proiect C să le trimită rapid Android.