HamburgerMenu
hirist

Android NDK Developer - Embedded System

AKSHAYA BUSINESS IT SOLUTIONS PRIVATE LIMITED
Multiple Locations
5 - 9 Years
star-icon
3.9white-divider11+ Reviews

Posted on: 23/12/2025

Job Description

Description :

Role : Android NDK Developer

Location : Bangalore, Chennai, Trivandrum

Experience : 5 - 9 Years

Role Summary :

The Android NDK Developer is responsible for engineering high-performance, system-level components that sit at the intersection of native C/C++ and the Android framework. This role focuses on developing performance-critical features where standard Java/Kotlin execution is insufficient, such as advanced multimedia processing, complex mathematical computations, and low-level hardware abstraction. You will be tasked with architecting seamless communication between the Android Runtime and native libraries via JNI, while ensuring that the resulting system is memory-efficient and highly optimized for diverse mobile hardware.

Responsibilities :

- Design, develop, and optimize Android components using C/C++ via the Android NDK to meet strict performance requirements for real-time applications.

- Engineer solutions across the entire Android stack, including the application layer, background services, and core framework-level native libraries.

- Architect and implement complex JNI (Java Native Interface) bridges to enable high-speed data exchange and synchronization between native code and Java/Kotlin.

- Perform deep-dive debugging and profiling of native code using system-level tools such as GDB, LLDB, and the Android Studio Profiler (System Trace, Native Memory).

- Implement and optimize low-level features for device connectivity (Bluetooth, Wi-Fi), sensor fusion, and high-fidelity multimedia (audio/video processing).

- Manage native memory allocation and concurrency to prevent memory leaks, race conditions, and ANRs (Application Not Responding) in performance-sensitive modules.

- Integrate third-party C++ libraries and frameworks into the Android environment, ensuring cross-architecture compatibility (ARM, x86).

- Collaborate with hardware and framework teams to expose native capabilities to the application layer through custom-built APIs.

- Utilize build systems like CMake and ndk-build to manage complex native dependencies and multi-module project structures.

Technical Requirements :

- 59 years of professional software development experience, with a core focus on Android NDK.

- Mastery of C and C++ (C++11/14/17) with a deep understanding of memory management and pointers.

- Expert-level knowledge of JNI (Java Native Interface) lifecycle, thread management, and object referencing.

- Strong proficiency in Java or Kotlin to ensure efficient integration with the Android application layer.

- Hands-on experience with Android native build tools including CMake, Ninja, and Gradle integration.

- Advanced debugging skills using LLDB and native crash dump analysis (stack traces, tombstone files).

- Experience with performance profiling tools such as Systrace, Perfetto, or Simpleperf to identify native bottlenecks.

Preferred Skills :

- Experience with Android HIDL/AIDL for communicating with the Hardware Abstraction Layer (HAL).

- Familiarity with native multimedia frameworks like OpenSL ES, AAudio, or Oboe.

- Knowledge of computer vision or graphics libraries such as OpenCV or OpenGL ES/Vulkan.

- Understanding of SIMD optimizations (ARM NEON) to accelerate computational tasks.

- Previous experience in developing SDKs or middleware that heavily utilizes native code.

- Strong architectural understanding of Android Internals and the Linux kernel.


info-icon

Did you find something suspicious?