Power up your app performance with NDK support

Share This Post

Want to run complex neural networks or high-end physics engines right on your phone? If you’ve ever tried to port a high-performance library to Android and hit a wall, that wall is now lower with Code on the Go’s new Native Development Kit (NDK) support.

Android apps are typically written in Java and/or Kotlin—great languages, but the apps they produce aren’t always praised for their speed, performance, or battery draw. It’s not that you can’t write fast code with them. But these languages sometimes encourage excessive work, with multiple layers of code structures that can sap performance. A single operation might pass through dozens or even hundreds of helper functions. That’s fine for many apps, but not for everything. If your app requires heavy computation, processes data continuously, or needs consistent low latency, performance quickly becomes a real concern. Battery life, heat, and real-time responsiveness all matter.

To manage this, developers can build performance-critical apps in native code that runs closer to the hardware, removing much of that overhead. Instead of long chains of method calls, the CPU achieves the same result with far fewer steps. The result is faster execution, lower latency, and often better power efficiency, all of which are crucial for apps that run on phones.

Java and Kotlin use the Software Development Kit (SDK). But sometimes you need the kind of performance you only get working closer to the hardware. Lower-level languages like C, C++, assembly language, and Fortran require an NDK, and we’re excited to say that Code on the Go now supports it.

The NDK adds about 200 MB to the Code on the Go installation. But with NDK support, you can:

  • Run tight numeric and vector computations at full CPU speed
  • Use CPU-specific instructions for cryptography, compression, graphics, and neural network workloads
  • Access SQLite directly from native code for faster data processing
  • Reuse existing C, C++, or Fortran libraries without rewriting them
  • Insert small assembly sequences when you need more precise control over performance

This opens the door to a whole new class of apps—especially ones that push the hardware.

Our first NDK release is experimental and released solely for user testing and feedback. When experimental mode is enabled, the NDK will be installed automatically with Code on the Go, and a new NDK project template will be available. In-app documentation for the NDK is still evolving, so you’ll need to rely on existing Android NDK resources for now.

If you’ve been waiting to bring high-performance code to Android, this is a great time to try it. Enable experimental mode and give it a spin. Build something that runs fast. Push the hardware a little. And please tell us what works, what doesn’t, and what you’d love to see next.