1.下载ndk.
解压即可
2.下载cygwin软件.
进入命令行:window->开始->程序->cygwin->cygwin bash shell.
3.创建android项目
4.创建jni文件夹,并编写c文件到该目录下
{android项目下}/jni/hellojni.c
#include <string.h>
#include <jni.h>
jstring Java_cn_itcast_hellojni_lib_HelloLib_getStringFromJNI( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
5.创建mk文件
${android项目}\jni\Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hellojni
LOCAL_SRC_FILES := hellojni.c
include $(BUILD_SHARED_LIBRARY)
6.通过ndk进行编译(借助于cygwin)
1.打开cygwin的命令行
2.进入项目所在目录
cd d:\eclipse\....\lsn_hellojni
3.直接在该目录下执行ndk的ndk-buidl命令.
d:/android-ndk-r6/ndk-build
4.在jni目录下生成libs和objs文件夹
.so
.so
5.在java中加载类库时.
package cn.itcast.hellojni.lib;
public class HelloLib {
static{
System.loadLibrary("hellojni");
}
public static native String getStringFromJNI();
}
6.调用即可.
xxx{
static{
System.loadLiberary("hellojni");
}
public static native String xxx();
}
解压即可
2.下载cygwin软件.
进入命令行:window->开始->程序->cygwin->cygwin bash shell.
3.创建android项目
4.创建jni文件夹,并编写c文件到该目录下
{android项目下}/jni/hellojni.c
#include <string.h>
#include <jni.h>
jstring Java_cn_itcast_hellojni_lib_HelloLib_getStringFromJNI( JNIEnv* env,
jobject thiz )
{
return (*env)->NewStringUTF(env, "Hello from JNI !");
}
5.创建mk文件
${android项目}\jni\Android.mk
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hellojni
LOCAL_SRC_FILES := hellojni.c
include $(BUILD_SHARED_LIBRARY)
6.通过ndk进行编译(借助于cygwin)
1.打开cygwin的命令行
2.进入项目所在目录
cd d:\eclipse\....\lsn_hellojni
3.直接在该目录下执行ndk的ndk-buidl命令.
d:/android-ndk-r6/ndk-build
4.在jni目录下生成libs和objs文件夹
.so
.so
5.在java中加载类库时.
package cn.itcast.hellojni.lib;
public class HelloLib {
static{
System.loadLibrary("hellojni");
}
public static native String getStringFromJNI();
}
6.调用即可.
xxx{
static{
System.loadLiberary("hellojni");
}
public static native String xxx();
}