Programação em 'C' para Android
SDK para Android
O Google fornece um conjunto padrão de ferramentas que permitem aos programadores criar aplicativos para a plataforma Android na forma de sua equipe de desenvolvimento de software ou SDK. Isso inclui um simulador de sistema Android para projetos de teste e ferramentas de empacotamento para criar um arquivo que o Android pode executar a partir do código-fonte do projeto. O SDK também inclui bibliotecas para permitir que aplicativos escritos em Java interajam com os recursos avançados do sistema operacional Android.
Android NDK
Os desenvolvedores que desejam criar aplicativos ou componentes de aplicativos na linguagem de programação C podem fazer o download da equipe de desenvolvimento nativa do Google ou do NDK. Esta é uma coleção de bibliotecas semelhantes às contidas no SDK. No entanto, eles estão na linguagem de programação C em vez de Java. Os desenvolvedores podem usar essas bibliotecas para desenvolver para o Android em C da mesma maneira que as bibliotecas do SDK permitem o desenvolvimento em Java.
Uso de NDK
O NDK não é funcional como uma equipe de desenvolvimento independente. Em vez disso, é uma extensão do SDK. Os desenvolvedores precisam instalar o SDK como uma plataforma para baixar, usar e atualizar outros componentes de desenvolvimento. Estes incluem o NDK. Os desenvolvedores ainda usam as ferramentas do SDK para criar os pacotes ".apk" que o Android executa como aplicativos, o simulador do SDK para testar os aplicativos e as ferramentas do SDK para transferir os pacotes .apk para um verdadeiro dispositivo Android.
C ou Java
A linguagem Java funciona compilando código-fonte em um formato intermediário chamado bytecode, cujas JVMs são traduzidas no código da máquina que o dispositivo realmente executa. Nesse processo, a JVM otimizará automaticamente o código da máquina que produz. Isso economiza tempo do programador para tentar otimizar o código. No entanto, os programadores que trabalham na linguagem C controlam diretamente a aparência do código compilado da máquina. Isso permite que os desenvolvedores de aplicativos que desejam exercitar esse nível detalhado de controle sobre seu código façam isso. Além disso, permite que os desenvolvedores que escreveram um grande número de códigos para um projeto C os enviem para o Android rapidamente.