1、步骤一:在java中定义一个c方法的接口 ,相当于在java代码中定义了一个接口 接口的实现方法是C语言实现的。publicnativeStringhello();
2、步骤二: 实现C代码 方法名 严格按照jni的规范#include<stdio.h>#include<jni.h>jstringJava_com_yys_helloworldformc_MainActivity_hello(JNIEnv*env,jobjectobj){//2步实现C代码//返回一个javaString类型的字符串//jstring(*NewStringUTF)(JNIEnv*,constchar*);//(*env)相当于JNINativeInterface*JNIEnv//*(*env)相当于JNINativeInterface///return(**env).NewStringUTF(env,"helloworldfromc");return(*env)->NewStringUTF(env,"helloworldfromc");}
3、步骤三: 创建android.mk 告诉编译器 如何把c代码打包成函数库LOCAL_PATH:=$(callmy-dir)include$(CLEAR_VARS)#对应打包成函数库的名字LOCAL_MODULE:=hello#对应c代码的文件LOCAL_SRC_FILES:=Hello.cinclude$(BUILD_SHARED_LIBRARY)
4、步骤四: 把c代码 打包成函数库 用到了安装的环境 到相应目录下使用ndk-build打包
5、步骤五: 在java代码中 引入库函数static{System.loadLibrary("hello");//注意事项去掉前面的lib后面的.so}
6、步骤六:使用方法。