NDK介绍

Android NDK开发的前提是我们必须对JNI技术有过了解。

JNI在Android中的应用场景十分的广泛,例如音视频开发、热修复、插件化、逆向开发、系统源码调用等。

对于JNI技术,Android为我们提供了NDK这个开发工具集,NDK是基于JNI的,它和JNI开发并没有本质区别。

Android中的JNI

Android系统按照语言来分的话,由两个世界组成:

  1. Java世界
  2. Native世界

为什么Android系统不直接使用Java编写?

  1. 性能
  2. Native(C/C++)语言已经有很多库,秉承不重复造轮子的原则。

那么如何连接Java与Native世界呢?没错,JNI就是这个连接桥梁。

111

参考资料

  1. 《Android进阶解密》刘望舒