声明
- 前阶段在项目中使用了Android的JNI技术,在此文中做些技术知识总结。
- 此篇参考一些博客和书籍,不方便逐一列出,仅供学习、知识分享,代码基于Android 7.1.1。
- Android JNI函数参考:‘Raw’ JNI interface to Android Dalvik (Java) VM from Mono (CS/JS)
- 本章Demo下载:Demo链接
1 Android 中JNI的存在方式
在 Android 中,JNI有两种存在方式:
- 存在于框架层中,用于联系本地代码和 Java 框架。
- 存在于应用程序包中。
在框架中使用的JNI是Android 系统构建中必不可少的一个环节,由于Android 系统底层使用本地 C/C++代码实现,很多 Java 类则需要使用这些本地的功能。此时JNI 联系了 Android 系统的Native层和Framework层 。
在应用程序包中使用的JNI