Android JNI学习01-AndroidStudio3.6搭建JNI环境
链接:https://pan.baidu.com/s/1zB9r5WwuTMIPNMlYl5HlvA
提取码:5ndl
本篇示例代码
什么是JNI?
有这么一种需求,比如,java函数想要调用C/C++的函数,如何实现呢?
直接调用,肯定是不行的,这时,就需要一个中间人,java 去调用中间人的函数,然后中间人再去调用对应的C/C++函数。
这里的中间人,实际上就是JNI,JNI的英文全称是:java Native Interface
JNI是一套程序框架,我们只要在它的基础上,按照它给定的规则,就可以实现java函数调用C/C++函数了。
JNI这套程序框架也是要C/C++语言写的。
AndroidStudio搭建JNI环境
在明白了什么是JNI之后,现在我们就来学习如何在AndroidStudio上将JNI的环境给配置起来。
安装LLDB,NDK,CMake
首先,你需要下载如下箭头指向的三个包
LLDB
是用于调试在JNI中写的C/C++程序
NDK
是一个软件开发包,里面有C/C++的编译器,还有JNI框架。我们主要就是在JNI的基础上进行java 和 C/C++函数的互调。之前很多同学对NDK和JNI的概念分不是很清楚,现在你明白了吧,NDK仅仅是一个工具包,里面包含了很多杂七杂八的部分,JNI是属于NDK中的一部分而已。
CMake
是C/C++的项目构建工具,它有什么作用呢?它类似于AndroidStudio中的gradle。gradle有什么作用,它就有什么作用。比如:你写的C/C++项目,要变成可执行程序,那么必须经过编译,链接这两个步骤,而Cmake就是自动帮你完成这两个步骤。如果不要Cmake,你就要自己去进行编译和链接。
配置NDK的路径
以上3个包都下载好了以后,那么就按如下方式配置刚刚下载的NDK路径
创建JNI程序
NDk配置好以后,接下来就可以创建JNI程序了。所谓的JNI程序就是说Android项目里,有java代码,也有C/C++代码。
创建方式如下(我是AndroidStudio3.6版本的,你们版本低的话,可能和我的创建方式不一样)
创建好之后,项目结构如下
这时,你可以直接运行这个项目,运行成功,显示如下
Android JNI学习02-AndroidStudio3.6JNI示例demo讲解