Programowanie w "C" dla Androida
Android SDK
Google udostępnia standardowy zestaw narzędzi, które umożliwiają programistom tworzenie aplikacji na platformę Android w postaci ich zespołu programistów lub SDK. Obejmuje to symulator systemu Android dla projektów testowych i narzędzi do pakowania, aby utworzyć plik, który Android może uruchomić z kodu źródłowego projektu. Pakiet SDK zawiera także biblioteki umożliwiające aplikacjom napisanym w Javie interakcję z zaawansowanymi funkcjami systemu operacyjnego Android.
Android NDK
Programiści, którzy chcą tworzyć aplikacje lub komponenty aplikacji w języku programowania C, mogą pobrać natywny zespół programistów z Google lub NDK. Jest to zbiór bibliotek podobnych do tych zawartych w SDK. Są one jednak w języku programowania C zamiast w języku Java. Programiści mogą korzystać z tych bibliotek w celu opracowania dla Androida w języku C w taki sam sposób, w jaki biblioteki SDK umożliwiają tworzenie aplikacji Java.
Korzystanie z NDK
NDK nie działa jako niezależny zespół programistów. Zamiast tego jest rozszerzeniem SDK. Programiści muszą zainstalować SDK jako platformę do pobierania, używania i aktualizowania innych komponentów programistycznych. Należą do nich NDK. Programiści nadal używają narzędzi SDK do tworzenia pakietów ".apk", z których Android działa jako aplikacje, symulatora SDK do testowania aplikacji i narzędzi pakietu SDK w celu przesłania pakietów .apk do prawdziwego urządzenia z systemem Android.
C lub Java
Język Java działa poprzez kompilowanie kodu źródłowego w formie pośredniej zwanej bajtode, którego maszyny JVM są tłumaczone na kod maszyny, która faktycznie działa. W tym procesie JVM automatycznie optymalizuje kod maszynowy, który generuje. To oszczędza czas programisty, aby spróbować zoptymalizować kod. Jednak programiści pracujący w języku C bezpośrednio kontrolują wygląd skompilowanego kodu maszyny. Pozwala to programistom aplikacji, którzy chcą wykonywać ten szczegółowy poziom kontroli nad swoim kodem, aby to zrobić. Ponadto umożliwia programistom, którzy napisali dużą liczbę kodów dla projektu C, szybkie przesłanie ich do systemu Android.