O Android SDK (Android Software Development Kit) pode ser considerado indispensável, desde que você use Java para desenvolver Android. Inclui o SDK Manager e o AVD Manage, gerenciamento de algumas versões de desenvolvimento do sistema Android e gerenciamento de emuladores. Ele só pode rodar programas puramente em Java, com os quais emuladores podem ser usados. NDK (Native Development Kit) é semelhante ao SDK no sentido de que também é um kit de desenvolvimento. É conveniente desenvolver C/C++ com ele. Ele possui uma poderosa coleção de compilações. Java tuning C, C++ (interface jni), é um código de ajuste Java para C. Ele compila código C em uma biblioteca dinâmica .SO, chama com código Java através da interface jni, com a qual podemos adicionar código C diretamente ao código Android. Razões para NDK: Há muito tempo, o Android só estava disponível com SDK. Não existe NDK. Isso significa que, uma vez que desenvolvedores Android queiram usar a biblioteca de terceiros do C/C++ ou precisem usar C/C++, devem usar o método não oficial para chamar C/C++ usando o JNI do Java. É como brincar de esperteza e passar pela porta dos fundos. O surgimento do NDK significa que o método chamado pela JNI se tornou regular, oficial, e você não precisa mais pegar a estrada no futuro, e a frente vai te seguir. Se você quiser operar o subjacente diretamente para operar a memória, precisa usar C/C++ para operar o endereço, porque Java é um pouco difícil de fazer isso. Então NDK é indispensável. Para Android, SDK e NDK são dois períodos diferentes de necessidade para a mesma linguagem.
|