1.在 ndk 的 sample 目录下创建工程目录 myproject ,然后在这个工程目录下创建两个目录 jni 和 src ,
jni目录用来存放 c 文件, src 目录存放调用的 c 库 java 接口文件。
2.在jni目录下创建工程中用到的c文件。在c文件中,函数名定义应遵循 JNI 的标准,格式如下:
Java_packagename_classname_methodname
3.在jni目录下创建Android.mk,这个文件就是本目录下的c文件的Makefile。内容如下:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := myjni
LOCAL_SRC_FILES := myjni.c
LOCAL_LDLIBS += -llog
include $(BUILD_SHARED_LIBRARY)
注:完成了c文件和Android.mk文件还不能用$NDK/ndk-build命令编译,此时还缺少manifest文件。
4.生成工程需要的manifest文件,在 Eclipse 中创建工程那么这个配置文件会自动生成。在第一步中创建的工程
目录下的src目录就是用来放置java文件的,打开Eclipse,新建一个Android工程,工程名字就叫MyProject,
工程路径选择第一步创建的NDK工程路径。这里需注意的是:工程名、包名等要和第二步中的c文件中函数名保持
一致。
5.在Android工程中建立native本地方法,声明的本地方法,具体实现就在加载的库中。
声明本地方法及加载库文件实例:
public native String stringFromJNI();
static {
System.loadLibrary("库文件名");
}
6.在cygdrive中的工程根目录下执行:$NDK/ndk-build编译工程生成库文件;在Eclipse 中编译android工程生
成apk包。接下来安装执行。