笔者使用的是eclipse开发环境,ndk环境已搭建好(怎样搭建可百度 so easy)
jni使用流程:
1.随便新建一个Android项目,在项目根目录下创建jni目录,并在目录下建立一个Android.mk文件
Android.mk文件编译如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := nativeadd //编译后库文件的名称
LOCAL_SRC_FILES := nativeadd.c //这里写的是需要编译的.c文件
LOCAL_C_INCLUDES := $(LOCAL_PATH)/include
include $(BUILD_SHARED_LIBRARY)
2.在java文件中建立有native方法的类文件:
3.用javah 命令生成c的头文件
这里有两种方法可以实现:
a.eclipse 中配置javah命令
备注:上图中需要配置的三项内容如下:
${system_path:javah}
${workspace_loc}
-v -classpath "${project_loc}/bin/classes" -d "${project_loc}/jni" ${java_type_name}
配置好之后,选中需要本地包含native方法的java类 ,并运行javah命令,刷新jni目录,该目录会多一个.h文件
4.在jni目录建立一个.c文件 实现头文件中的方法
5.命令行中进入jni文件目录,使用ndk-build命令生成.so文件:
成功后,本项目libs目录下会多个.so文件
6.在项目调用native jni方法
完结。
注:其中第三步 javah 命令生成c的头文件
第二种方法,将NativeAdd类在eclipse中导出为jar(主要为了获取.class文件)
并解压到文件到电脑中的任意目录
cd 到该目录,直接使用命令:javah -jni com.zbtx.maize.nativedemo.NativeAdd,即可生成.h文件
原文:http://www.cnblogs.com/x-bing/p/5268091.html