1、创建一个android 工程,包名为 com.test。新建一个类
package com.test;
public class Jni {
public native String getString();
}
通过 dos命令 进入到该类的目录下 输入javac Jni.java 生成Jni.class文件。复制该文件覆盖bin下该文件。
2进入到bin 下(若bin下还有其他目录,则进入到com 的上一层目录) 输入javah -jni com.test.Jni
生成com_test_Jni.h文件,将该文件拷贝到jni文件夹(没有,则新建一个)里。
3、在com_test_Jni.h 同级目录下创建 com_test_Jni.c文件
#include <stdio.h>
#include <stdlib.h>
#include "com_test_Jni.h"
JNIEXPORT jstring JNICALL Java_com_test_Jni_getString
(JNIEnv *env, jobject thiz){
(*env)->NewStringUTF(env,"Hello world!!! jni");
}
然后再创建Android.mk文件(可从NDK的例子中拷贝过来修改) 关键部分
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := com_test_Jni
LOCAL_SRC_FILES := com_test_Jni.c
include $(BUILD_SHARED_LIBRARY)
4、打开cygwin 进入到刚刚的jni目录下 输入 $NDK/ndk-build,在工程的libs目录下将会生成相应的.so文件。
5、在activity 中 写入
static {
System.loadLibrary("com_test_Jni");
}
Jni jni = new Jni();
setTitle(jni.getString());
完成。