Android Studio 一个简单的非传统Jni例子

Jni是Java运行、调用C和C++代码的一个中间件,可以理解为是一个转接头。

我的C/C++水平仅限于大学时候的课程的算法例子,还真没拿来写过东西。

首先在Android Studio中安装NDK环境和CMake(让C/C++语言也能自动提示)

然后创建一个项目,记得把include C++ support勾上

创建之后,会发现目录上多了cpp目录,和CMakeLists.txt文件(如果你以前弄过jni开发,可以发现不同,以前的jni目录变成了cpp,CMakeLists.txt的作用大概就是替代Android.mk这个文件的作用,传统jni和当前jni的区别,下面就不在复述了)

然后直接运行项目,页面中间就会打印出来“hello from C++” 的字样了

然后我们再编写一个简单的例子,输入两个整数,输出最大的那个:

首先Java端的代码:

然后Jni端的代码:

直接运行就能得出结果

如果只是简单的jni的hello world程序,基本上就是这样了!

题外话:用CMake来打包的话,比原来的jni方便快捷很多,原本的jni开发,需要创建native描述的方法,然后再生成.h文件,再然后创建.c文件,接着再编写android.mk文件,再接着使用terminal命令行生成so文件,最后引用so文件然后运行……麻烦得很