android JNI 手动实现简单步骤

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则成功

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值