我的简书:https://www.jianshu.com/u/c91e642c4d90
我的CSDN:http://blog.csdn.net/wo_ha
我的GitHub:https://github.com/chuanqiLjp
我的个人博客:https://chuanqiljp.github.io/
版权声明:商业转载请联系我获得授权,非商业转载请在醒目位置注明出处。
1.eclipse中的Jni开发流程(一)
2.eclipse中的Jni开发流程(二)
3.Android Studio配置CMake开发NDK
1、声明java的本地方法,使用native关键字 本地方法不用去实现
1 |
|
2、在项目的根目录创建jni文件夹
3、在jni文件夹下创建xxxx.c文件(导入三个必要的头文件《stdlib.h、stdio.h、jni.h》)
①本地函数命名规则: Java_包名_类名_本地方法名(可以使用javah命令去生成)
②JNIENV env JNIEnv 是JniNativeInterface这个结构体的一级指针
③JniNativeInterface这个结构体定义了大量的函数指针
④env 就是结构体JniNativeInterface这个结构体的二级指针
⑤(env)->调用结构体中的函数指针
⑥第二个参数jobject 调用本地函数的java对象就是这个jobject
1 | #include<stdlib.h> |
4、在jni文件夹下创建Android.mk文件 makefile 告诉编译器.c的源文件在什么地方,要生成的编译对象的名字是什么
1 | Android.mk的文件内容(复制即可) |
5、在项目的根目录下调用ndk-build命令编译C代码,生成动态链接库libxxx.so文件 文件的位置 lib->armeabi->libxxxx.so
6、在Java代码需要调用的地方的类中使用static代码块加载动态链接库( System.loadlibrary(“动态链接库的名字”); Android.mk的LOCAL_MODULE所指定的名字)
1 | 在MainActivity中 |
至此,就可以将我们的程序跑起来了,你会了吗?下一篇我会讲Jni在eclipse中简便开发流程,欢迎继续关注!