android 下使用jni调用已经编译好的c库

1、使用eclipse新建一个Android工程

2、src目录下新增一个jni目录

3、在Java层新增一个本地方法的定义:private static native int hdp_new(); 则Java层可以调用该方法,此时还未实现该方法。

4、使用javah生成jni格式的头文件

切换到Android工程的顶层目录,该目录下有Java源文件目录src,c/c++源文件目录jni

javah -classpath src -d jni com.example.helloworld.MainActivity 

JNIEXPORT jint JNICALL Java_com_example_helloworld_MainActivity_hdp_1new   

(JNIEnv *, jclass);

则在JNI目录下生成了头文件

5、实现上述生成的头文件中的接口

JNIEXPORT jint JNICALL Java_com_example_helloworld_MainActivity_hdp_1new

(JNIEnv *, jclass)

{

new_mmz_buffer();   // 调用c库函数

copy_mmz_buffer();

return 0;

}

6、将该Android工程转换为c/c++工程,生成c/c++ build环境

右击该Android工程,选择new -> other -> C/C++ -> convert to a c/c++ project

7、编写Android.mk

你可能感兴趣的:(android 下使用jni调用已经编译好的c库)