Qué es el Android NDK

Qué es el Android NDK

Programar para Android no es sólo Java, y ahí es donde tiene mucho que decir Android NDK. ¿Quieres ver en qué consiste? Entren y vean...
9/10/2016 a las 9:46 UTC · Jose Angel Zamora

Cada vez que hablamos sobre programación en Android nos estamos refiriendo a la programación nativa y a Java, un lenguaje de orientación a objetos que fue elegido para desarrollar toda la API con la que contamos para hacer una app en Android.

A pesar de que podemos encontrarnos apps híbridas (que básicamente utilizan contenedores de webs para mostrar webs móviles y hacer que parezca una app), también es cierto que podemos llegar a encontrarnos apps puramente nativas que utilizan código que no es Java.

Android NDK, combinando lenguajes de programación

screen-shot-2016-10-08-at-18-32-38

Para ello, Google nos pone a nuestra disposición Android NDK, una herramienta que nos permite implementar parte de nuestro código con otros lenguajes nativos como C o C++. Si bien esto nos puede servir para reutilizar código como por ejemplo el relacionado con la lógica de negocio, también podría servirnos para reutilizar librerías que hayan sido escritas en este lenguaje.

Esta librería la podemos descargar desde aquí o desde Android Studio (SDK Tools):

screen-shot-2016-10-08-at-18-29-51

Android NDK, toda la información

Para empezar, uno de los puntos más interesantes es que conozcamos las arquitecturas compatibles con Android NDK:

Arquitectures and CPUs

Una vez conocidas éstas, es realmente interesante que conozcamos el funcionamiento de NDK en sí y cómo gestiona el proyecto de nuestra app:

Building your project

Con esto deberíamos tener suficiente, pero incluso podríamos poder depurar nuestro código, para lo que esta información resulta clave:

Debugging your project

Como hemos comentado anteriormente, no sólo sirve para nuestro código, sino incluso para reutilizar librerías de terceros. Para ello Google también nos da información de cómo incluirlas en nuestra app:

Using Existing Libraries

Además, para facilitad todo el desarrollo, tenéis una gran cantidad de ejemplos disponibles.

Android NDK para sacar el máximo rendimiento de la CPU

programación-1

Normalmente NDK se suele utilizar en determinadas aplicaciones que quieren poder llevar a cabo un uso muy intenso de la CPU como por ejemplo pueden ser los motores de videojuegos o de procesamiento de señal. Este tipo de actividad requiere unas operaciones matemáticas muy costosas, las cuales podemos optimizar gracias al uso de NDK.

De hecho, uno de los aspectos más importantes es el procesamiento de alto rendimiento de audio, para el cual tenemos disponible una librería que nos permite utilizar C o C++ para implementar audio con baja latencia y alto rendimiento, así como sintetizadores, estaciones digitales de audio, karaokes…

High-Performance Audio

Par ael caso del procesamiento gráfico 3D tenemos Vulkan, de la cual ya hemos hablado en alguna ocasión,  para ofrecernos una API para crear gráficos en tiempo real de alta calidad de un modo más sencillo y sin minar el rendimiento de nuestro dispositivo.

Vulkan

Android NDK permite así ampliar las posibilidades, especialmente en los que tenemos que mejorar el rendimiento con respecto a lo que Java puede ofrecer o simplemente para reutilizar código. Es más, ¿os resultaría extraño que tengáis ya apps que utilicen NDK? No debería si tenéis apps como WhatsApp, Instagram o Skype…

Mostrar comentarios
Vídeos El Androide Libre
Análisis de la Xiaomi Mi Smart Band 4
Análisis del Samsung Galaxy S10 5G
LG Q60: triple cámara y alta resistencia
Análisis del Xiaomi Mi A3
4 motivos que justifican dar el salto al 5G en 2019
Análisis del Samsung Galaxy A80
Análisis de Samsung Galaxy Tab A 10.1 2019
Guía de compra para móviles Xiaomi
Controla tu móvil SIN TOCARLO – SÓLO CON LA VOZ!
Cómo AHORRAR DATOS en INSTAGRAM
Análisis Xiaomi Mi 9T
Análisis Xiaomi Mi True Wireless
Análisis Amazon Kindle Fire 7 2019
TRUCAZO: Acelera los audios de WHATSAPP #STOPTURRAS
Cómo pasar de audio a texto automáticamente
Kodak, de fabricar carretes de fotos a lanzar móviles
Cómo grabar la pantalla de tu móvil Android