jni开发步骤

很久没用jni,今天用时报了个java.lang.UnsatisfiedLinkError: getVar异常郁闷很久百度搜也没找到答案,

最后发现居然是忘了写 

	static{
		System.loadLibrary("hello-jni");
	}

总结下步骤以防下次忘记

1.新建个类声明一个native方法并加载库

public class Constant {
	static{
		System.loadLibrary("hello-jni");
	}
	public native void getVar(String a,String b,String c);
}

2.新建jni目录将Android.mk拷贝到jni并稍做修改

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

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

include $(BUILD_SHARED_LIBRARY)

 3.生成java本地方法对应的c代码的方法名进入src

javah 全类名 生成的.h文件拷贝到jni目录

4.新建hello-jni.c文件

#include <stdio.h>
#include <com_example_jni_Constant.h>
JNIEXPORT void JNICALL Java_com_example_jni_Constant_getVar
  (JNIEnv *env, jobject obj, jstring a, jstring b, jstring c){
	return;
}

 5.用Cygwin Terminal工具进入源代码工程目录 输入

$ cd /cygdrive/e/adt-bundle-windows-x86_64-20140702/lottery/
$ ndk-build

编译

猜你喜欢

转载自h496950806.iteye.com/blog/2185115
今日推荐