1,新建MyJNI类,这里的System.loadLibrary(“方法名”)是与C/C++交互的入口。下面的getCLanguageString()方法就是要在c中实现的方法,在java中调用该方法以实现对c/c++的调用。
![](https://img.haomeiwen.com/i3426254/7caaf0a26d28c09a.png)
2,通过我们配置的方法javah,构建jni文件夹以及com_example_sjw_day0419jnitest_MyJNI.h文件
![](https://img.haomeiwen.com/i3426254/c2003663783ef3e6.png)
3,在工程下的gradle.properties里添加 android.useDeprecatedNdk=true
![](https://img.haomeiwen.com/i3426254/d3be6117062a8f70.png)
4在app下的build.gradle下添加如下代码:(注意:这里的moduleName是我们在myJni.class下System.loadLibrary()里的方法名)
![](https://img.haomeiwen.com/i3426254/343b2c32acc77552.png)
5,在jni下新建.cpp/.c文件(下图是.c)实现.h文件中的方法(记得导.h文件的包)
![](https://img.haomeiwen.com/i3426254/8fd5a9c129cc440b.png)
6,在jni下创建Android.mk和Application.mk文件
![](https://img.haomeiwen.com/i3426254/382edb84df7aeeb0.png)
![](https://img.haomeiwen.com/i3426254/ac1f416db76f1462.png)
7,右键jni目录实现ndk-build方法,构建.so文件
![](https://img.haomeiwen.com/i3426254/aaaa648777c89f62.png)
8,在MainActivity里调用,完成
![](https://img.haomeiwen.com/i3426254/5cc284d72c0052be.png)
9,运行效果截图
![](https://img.haomeiwen.com/i3426254/7b1d62d409746deb.png)
网友评论