现在的位置: 首页 > 综合 > 正文

android JNI 手动实现简单步骤

2013年10月17日 ⁄ 综合 ⁄ 共 948字 ⁄ 字号 评论关闭

1、第一步:在Activity里面生命一个native方法:

	public class NdkActivity extends Activity {
	//在静态代码块中加载C语言的库文件
		/** 声明一个native方法 */
		public native String helloFromJNI();

		    @Override
		    public void onCreate(Bundle savedInstanceState) {
			super.onCreate(savedInstanceState);
			setContentView(R.layout.main);
		    }
	}

2、在工程下创建jni包,里面创建.c文件,eg:hello.c:

	#include<jni.h>
	//env代表Java环境,通过这个环境了以调用Java方法
	//谁调用了helloFromJNI(),obj就代表谁
	jstring Java_cn_uc_NdkActivity_helloFromJNI(JNIEnv* env,jobject thiz){
		return (*env)->NewStringUTF(env,"hello from C");
	}

3、在jni包里创建Android.mk文件(copy):

	LOCAL_PATH := $(call my-dir)
	include $(CLEAR_VARS)
	LOCAL_MODULE    := hello//要新建的文件名
	LOCAL_SRC_FILES := hello.c//源文件名
	include $(BUILD_SHARED_LIBRARY)

4、在Cygwin里进入jni目录执行ndk-build命令
进入jni目录: cd /cygdrive/d/Android/ProTest/NdkTestActivity/jni/

5、------------------------------------------可以开始测试--------------------
6、在Activity里实现Button的点击事件

	    public void myButton(View view){
		String s = helloFromJNI();//前面声明的native方法
		Toast.makeText(this, s, 1).show();
	    }

7、运行该Android工程,如果正常toast则成功

抱歉!评论已关闭.