
Android NDK Beginner’s Guide, 2nd Edition
Sylvain Ratabouil
- Editorial
- Packt
- Año
- 2015
- Páginas
- ~494
- Nivel
- Básico
De qué trata
Guía formativa estructurada para dar el salto al desarrollo nativo en C y C++ dentro de la plataforma móvil a través del Android NDK (segunda edición revisada para Android 5.0 Lollipop y NDK r10). Está dirigida a dos perfiles principales: programadores de Android en Java que necesitan recurrir a código nativo para tareas de procesamiento intensivo, y desarrolladores de C/C++ provenientes del software de escritorio que buscan trasladar sus competencias al ecosistema móvil. Se requieren conocimientos previos de C o C++ y familiaridad elemental con el desarrollo de software.
El temario abarca la instalación y configuración de la cadena de herramientas (toolchain cruzada del NDK, scripts Android.mk y Application.mk) y profundiza en la interoperabilidad con JNI (Java Native Interface), cubriendo tanto llamadas directas como callbacks desde C++ hacia la capa Java. Desarrolla aplicaciones nativas basadas en NativeActivity, enseña renderizado gráfico acelerado con OpenGL ES 2.0 (shaders GLSL, texturas y partículas), procesado y reproducción de sonido de baja latencia con OpenSL ES, y captura de eventos multitáctiles y sensores de hardware (como el acelerómetro). También cubre la compilación de la biblioteca estándar STL, la integración de motores de física como Box2D y el cómputo paralelo masivo con RenderScript.
El aprendizaje se organiza mediante secciones guiadas paso a paso ("Time for action") vertebradas alrededor de la creación progresiva de "DroidBlaster", un videojuego de disparos espaciales desarrollado íntegramente en C++. El libro destaca por eliminar la complejidad inicial del NDK, guiando al lector con explicaciones muy detalladas desde los punteros hasta la sincronización entre hilos nativos. Conviene señalar que utiliza el sistema de compilación tradicional ndk-build (en plena transición entre Eclipse ADT y Android Studio), por lo que requiere adaptar la configuración de compilación si se traslada a los entornos actuales basados en CMake y Gradle.
- Android NDK
- C++
- JNI
- NativeActivity
- OpenGL ES 2.0
- OpenSL ES
- Box2D
- RenderScript
- Acelerómetro y sensores
- Compilación cruzada
¿Cómo enseña?
Con proyectos
- ✓ Incluye ejercicios
- ✓ Incluye proyectos
Proyectos
DroidBlaster
Videojuego de acción espacial 2D/3D desarrollado íntegramente en C++ nativo sobre NativeActivity; incorpora renderizado con OpenGL ES 2.0, audio de baja latencia con OpenSL ES, físicas con Box2D y control de movimiento mediante el acelerómetro del dispositivo.

