preface

As Android engineers, Java and Kotlin are the development languages we use most often

However, when it comes to some functions requiring high performance, or related to the bottom layer, or related to security, it has to use C/C++ to achieve, Java language also provides a related interface (JNI) to call native related code

On this basis, the Android platform provides native development kit NDK (Native Develop Kit) to facilitate the interaction between the Android platform and native code

As a start, this article will briefly describe what we can do with the NDK and what we can do with it

Next, the body begins!

What can you do with the NDK?

NDK development is not difficult, because NDK is just a development tool, but the prerequisite is to master C/C++ related language foundation, JNI related calling API, and Cmake related compilation knowledge, this series will be based on this foundation

Safety related

Part of the code in C language to implement, can increase the difficulty of reverse analysis, for the program is safer. No good open source library has been found for this area so far. I will make some code examples or open source libraries in the future

Processing Audio

  1. Audio – echo: github.com/android/ndk…
  2. Oboe: github.com/android/ndk…
  3. Opensl es: github.com/android/ndk…
  4. MIDI: github.com/android/ndk…

Video Processing

  1. The codec: github.com/android/ndk…
  2. OpenMAX: github.com/android/ndk…
  3. Ffmpeg: github.com/FFmpeg/FFmp…

Picture processing

  1. Plasma effect: github.com/android/ndk…
  2. Webp: github.com/android/ndk…
  3. Image – p3: github.com/android/ndk…

Neural Network

  1. NNAPI: github.com/android/ndk…

OpenGL(Render with OpenGL)

  1. Render tea port: github.com/android/ndk…
  2. Render SAN angles: github.com/android/ndk…
  3. Sensor graph: github.com/android/ndk…
  4. GLES2.0: github.com/android/ndk…

5. GLES3.0: github.com/android/ndk…

Game Development (3D Game)

Github.com/android/ndk…

Afterword.

In the following article, I will analyze the relevant source code item by item, and expand the implementation of relevant functions, interested partners can pay attention to a wave!

I am relieved. See you in the next article!