1、在Android工程中声明要调用的C/C++实现的函数
如:public native static String getStr();主要是关键字native
2、在Android工程要调用的地方设置静态调用方法
static {
System.loadLibrary("com_exam_jnitest");
}
3、通过javac命令将声明函数的Java文件编译生成对应的class文件
4、通过javah命令生成对应的头文件
通过cmd控制台跳转到对应工程的bin/classes下,javah 对应class的路径(不过中间用.表示/)
生成对应的*.h文件后,在工程根目录下建立文件夹jni,将*.h头文件粘贴到该目录下,并在此目录下实现对应的*.c文件。
5、实现编译配置文件Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := com_exam_jnitest——编译生成的*.so的文件名,在第2步调用的名字
LOCAL_SRC_FILES := com_exam_jnitest_ConJni.c——实现功能的*.c文件
include $(BUILD_SHARED_LIBRARY)
如:public native static String getStr();主要是关键字native
2、在Android工程要调用的地方设置静态调用方法
static {
System.loadLibrary("com_exam_jnitest");
}
3、通过javac命令将声明函数的Java文件编译生成对应的class文件
4、通过javah命令生成对应的头文件
通过cmd控制台跳转到对应工程的bin/classes下,javah 对应class的路径(不过中间用.表示/)
生成对应的*.h文件后,在工程根目录下建立文件夹jni,将*.h头文件粘贴到该目录下,并在此目录下实现对应的*.c文件。
5、实现编译配置文件Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := com_exam_jnitest——编译生成的*.so的文件名,在第2步调用的名字
LOCAL_SRC_FILES := com_exam_jnitest_ConJni.c——实现功能的*.c文件
include $(BUILD_SHARED_LIBRARY)
6、下载Android NDK,配置环境变量,配置好ndk-build命令后,跳转到项目的根目录执行ndk-build命令。至此,生成对应的*.so文件,在Android中可以调用了
代码下载地址:http://download.csdn.net/detail/oyouhuo/9066661