Android NDK

The Android NDK is a toolset that lets you implement parts of your app in native code, using languages such as C and C++. For certain types of apps, this can help you reuse code libraries written in those languages.
class MyActivity : Activity() {
  /**
   * Native method implemented in C/C++
   */

  external fun computeFoo()
}

Latest news

Updated February 20, 2020

One thing that NDK users struggle with is managing native dependencies: With version 4.0 of the Android Gradle Plugin, we’ve addressed these issues by adding support for distributing and exposing native libraries through the same mechanism that you

Updated December 5, 2019

With over 2.5 billion monthly active devices, the Android Platform gives incredible reach for game developers. Taking advantage of that opportunity can be a challenge, particularly if your game really tries to push the limits of what mobile can do.

Updated October 17, 2019

Android NDK r21 is now in beta! It’s been a longer than usual development cycle (four months since NDK r20), so there’s quite a lot to discuss for this release. We have the usual toolchain updates, improved defaults for better security and

Optimize your native code

Updated January 3, 2024

Android Studio includes a graphical front end to Simpleperf, documented in Inspect CPU activity with CPU Profiler. Most users will prefer to use that instead of using Simpleperf directly. If you prefer to use the command line, Simpleperf is a

Updated May 18, 2017

Mobile games have better graphics and deeper gameplay than ever before. This means that developers need to optimize their games to get the best experience on each device to meet the expectations of their users. In this session, you will see how

Updated May 17, 2017

Android native applications typically use Java objects that "own" C++ objects. When the Java garbage collector detects that the Java object is no longer needed, the Java object either explicitly deallocates the C++ object, or decrements its reference