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 realme Buds Air Neo
Análisis Xiaomi Redmi Note 9 Pro
Análisis realme Watch
11 Novedades de Android 11
Análisis Xiaomi Mi 10 Lite
SPC Jasper, un móvil para personas mayores
Análisis OPPO Find X2 Neo
Las REDES 5G y sus beneficios
2 alternativas para no decir Ok Google
Análisis realme X3 Superzoom
Análisis Samsung Galaxy M31
Análisis OPPO Find X2 Lite
Comparativa OnePlus 8 vs OnePlus 8 Pro
Analizamos el Nest Wifi
Análisis realme 6 Pro

Lo más visto

Kodak, de fabricar carretes de fotos a lanzar móviles
Cómo grabar la pantalla de tu móvil Android