eclipse adt
android-ndk-r8c-windows
cdt
步骤一:在java中定义一个c方法的接口 ,相当于在java代码中定义了一个接口 接口的实现方法是C语言实现的。public native String hello();
步骤二: 实现C代码 方法名 严格按照jni的规范#include
步骤三: 创建android.mk 告诉编译器 如何把c代码打包成函数库 LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) # 对应打包成函数库的名字 LOCAL_MODULE := hello # 对应c代码的文件 LOCAL_SRC_FILES := Hello.c include $(BUILD_SHARED_LIBRARY)
步骤四: 把c代码 打包成函数库 用到了安装的环境 到相应目录下使用ndk-build打包
步骤五: 在java代码中 引入库函数 static{ System.loadLibrary("hello");// 注意事项 去掉前面的lib 后面的.so }
步骤六:使用方法。
方法名 严格按照jni的规范 jstring Java_com_example_helloworldformc_MainActivity_helloWorldFromC(JNIEnv* env,jobject obj)