Android中JNI程序的编写(zhuan)

zhuan(http://luco1130.blog.163.com/blog/static/61326621201091711407115/)

第一步需要下载android_ndk

然后需要安装Cygwin,然后找到目录:

C:\cygwin\home\Administrator
在.bashrc文件的末尾添加:
NDK=/cygdrive/e/EclipseForAndroid/android_ndk(加下划线的为NDK的目录)
export NDK

需要在NDK目录下新建一个apps文件夹。然后再这个文件夹中可以新建我们的native方法源文件。

例如:apps/myjin/jni,即新建了一个myjni工程,jni下放置源码hello-jni.h和hello-jni.c

1.在源码目录(上面的jni)下需要编写Android.mk文件
LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := myjni
LOCAL_SRC_FILES := hello-jni.c

include $(BUILD_SHARED_LIBRARY)
2.在项目文件夹(上面的myjni)顶层目录需要编写Applicationi.mk
APP_PROJECT_PATH := $(call my-dir)
APP_MODULES := myjni

编写NDK步骤:
1.新建Android项目jniTest(com.luochao.jniTest)
2.书写java native接口JNI(有一个Hello方法),和JAVA中一样声明一个native方法
3.在jniTest类中调用接口:
  首先需要连接库:
  static{
   System.loadLibrary("myjni");
  }
  JNI  myJNI = new JNI();
  tv.setText(myJNI.Hello());//tv为jniTest的一个textview
4.生成相应的.h头文件
cd到jniTest的bin目录下:javah -classpath . -jni com.luochao.jniTest.JNI
有的环境是直接输入javah com.luochao.jniTest.JNI就可以了。
即生成了com_luochao_jniTest_JNI.h头文件
5.编写相应的.c文件。
在NDKD的source目录下新建一个文件夹myjni
在这个文件中新建一个Application.mk文件。
然后添加一个jni文件夹,将生成的.h和.c文件复制到这个文件夹中,并且新建一个
Android.mk文件。
6.编译生成库文件:
cd $NDK//进入到ndk目录
make APP=myjni//即可生成lib库。
将生成的lib文件夹整个拷贝到android目录下。
7.运行Android项目即可

你可能感兴趣的:(android,jni)