Qué es el Kit de Desarrollo Nativo de Android (NDK)?


Quiero saber sobre NDK. Qué es Android NDK (native development kit)? ¿Cómo se puede usar? ¿Por qué debería uno usarlo?

Author: onexf, 2011-07-12

8 answers

El NDK (Native Development Kit) es una herramienta que permite programar en C/C++ para dispositivos Android. Está diseñado para integrarse con el SDK (se describe como una "herramienta complementaria") y se usa solo para partes críticas de rendimiento de un proyecto. Vea aquí para más información.

 74
Author: Ted Hopp,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-12 07:12:25

NDK puede mejorar el rendimiento de la aplicación. Esto es generalmente cierto para muchos aplicaciones vinculadas al procesador. Muchas aplicaciones multimedia y videojuegos utilizan código nativo para tareas intensivas en el procesador. Las mejoras de rendimiento pueden provenir de tres fuentes. En primer lugar, el código nativo se compila en un código binario y se ejecuta directamente en el sistema operativo, mientras que el código Java se traduce a Java byte-code e interpretado por Dalvik Virtual Machine (VM) . En Android 2.2 o superior, a Justo a tiempo (JIT) compilador se añade a Dalvik VM para analizar y optimizar el Java byte-code mientras el programa se está ejecutando (por ejemplo, JIT puede compilar una parte byte-code a código binario antes de su ejecución). Pero en muchos casos, el código nativo todavía se ejecuta más rápido que el código Java.

El código Java es ejecutado por Dalvik VM en Android. Dalvik VM está especialmente diseñado para sistemas con recursos de hardware limitados (espacio de memoria, procesador velocidad, y así sucesivamente).

La segunda fuente para las mejoras de rendimiento en NDK es que el código nativo permite desarrolladores para hacer uso de algunas características del procesador que no son accesibles en Android SDK, como NEON, una tecnología Single Instruction Multiple Data (SIMD), que permite múltiples elementos de datos que se procesarán en paralelo. Un ejemplo particular de tarea de codificación es el color conversión para un marco de vídeo o una foto. Supongamos que tenemos que convertir una foto de 1920x1280 píxeles del espacio de color RGB al espacio de color YCbCr. Naive enfoque es aplicar una fórmula de conversión a cada píxel (es decir, más de dos millones de píxeles). Con NEON, podemos procesar múltiples píxeles a la vez para reducir el tiempo de procesamiento.

El tercer aspecto es que podemos optimizar el código crítico a nivel de ensamblado, que es un práctica común en el desarrollo de software de escritorio.

Desventaja

NDK no puede acceder a muchas API disponibles en el SDK de Android directamente, y el desarrollo en NDK siempre introducirá complejidad adicional en su aplicación.

 46
Author: sujith s,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-06-26 10:31:46

El NDK de Android es una herramienta complementaria que solo se usa junto con el SDK de Android, que permite a los desarrolladores de aplicaciones crear porciones críticas de rendimiento de sus aplicaciones mediante el uso de código nativo (C/C++).

Esto proporciona beneficios en forma de reutilización del código existente y mayor velocidad.

Por favor, vaya a través de los siguientes enlaces.

Enlace-1

Enlace-2

Enlace-3

 18
Author: Chirag,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-02-05 07:04:12

El Android NDK es una herramienta complementaria del Android SDK que te permite crear porciones críticas de rendimiento de tus aplicaciones en código nativo. Proporciona encabezados y bibliotecas que le permiten crear actividades, manejar la entrada del usuario, usar sensores de hardware, acceder a recursos de aplicaciones y más, al programar en C o C++. Si escribe código nativo, sus aplicaciones todavía se empaquetan en un .archivo apk y todavía se ejecutan dentro de una máquina virtual en el dispositivo. El modelo de aplicación Android fundamental no cambia.

Los siguientes enlaces también responden a su pregunta:

¿Qué es NDK?

Cuándo desarrollar en Código Nativo

NDK Download

Cómo construir la aplicación NDK

Cómo trabajar con NDK

10 consejos para Android NDK

 8
Author: Hussain,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-17 15:11:25

El NDK de Android es un conjunto de herramientas que le permite incrustar componentes que hacen uso de código nativo en tus aplicaciones Android.

Las aplicaciones Android se ejecutan en la máquina virtual Dalvik. El NDK permite para implementar partes de sus aplicaciones utilizando código nativo lenguajes como C y C++. Esto puede proporcionar beneficios a ciertos clases de aplicaciones, en forma de reutilización de código existente y en algunos casos aumentaron la velocidad.

Fuente: http://developer.android.com/sdk/ndk/overview.html

El NDK de Android es una herramienta complementaria al SDK de Android que te permite cree porciones críticas de rendimiento de sus aplicaciones en código nativo. Se proporciona encabezados y bibliotecas que le permiten crear actividades, maneje la entrada del usuario, use sensores de hardware, acceda a los recursos de la aplicación, y más, al programar en C o C++. Si escribe código nativo, su las aplicaciones todavía están empaquetadas en un .archivo apk y ellos sigue corriendo dentro de una máquina virtual en el dispositivo. El Android fundamental el modelo de aplicación no cambia.

Fuente: http://developer.android.com/sdk/ndk/index.html

 3
Author: Daniel Kutik,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-12 07:12:14

NDK es un conjunto de herramientas que le permite implementar partes de su aplicación utilizando lenguajes de código nativo como C y C++....Checkout this https://developer.android.com/tools/sdk/ndk/index.html

 2
Author: RNR123,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-04-24 11:12:51

NDK es solo un conjunto de herramientas que le permite escribir códigos C/C++ para su aplicación.Por ejemplo, supongamos que desea agregar una función/rendimiento crítico a su aplicación y desea escribirlo en C/C++, entonces eclipse o cualquier otro IDE no le permitirá escribir su C/C++ y, en ese caso, debe usar NDK e integrarlo en su aplicación.

 2
Author: Tanmay harsh,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-05-17 15:12:04

Android NDK (kit de desarrollo nativo)

Android Native Development Kit (NDK) es desarrolladores para escribir código en C/C++ que compila a código nativo

¿Por qué debería uno usarlo?

El código fuente se compila directamente en código máquina para la CPU (y no en un lenguaje intermedio, como con Java), entonces los desarrolladores pueden obtener el mejor rendimiento

¿Cómo se puede usar?

Aquí mejor tutoriales

Https://developer.android.com/ndk/index.html

Https://www.androidauthority.com/android-ndk-everything-need-know-677642 /

Https://www.ntu.edu.sg/home/ehchua/programming/android/Android_NDK.html

 1
Author: Ramesh sambu,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-01-24 16:57:26