一.JNI和NDK简介
JNI: Java Native Interface(java 本地接口),它是为了方便Java调用C、C++等本地代码所封装的一层接口。
NDK: 是Android所提供的一个工具接口,通过NDK可以在Android中更加方便地通过JNI来访问本地代码。NDK提供了交叉编译器,开发人员通过修改mk文件就可以生成特定CPU平台的动态库。
NDK的好处:
- 提高代码的安全性。因为so库反编译比较困难,因此NDK提供了Android程序的安全性。
- 可以很方便地使用目前已有的C、C++开源库
- 便于平台间移植。通过C、C++实现的动态库可以很方便地在其它平台上使用