android JNI企业级简单实现步骤

来源:互联网 发布:西亚00q淘宝 编辑:程序博客网 时间:2024/06/13 18:51

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、在工程的class目录下调用javah的命令对<包名.类名>进行编译,生成.h文件
3、在工程下创建jni包,将.h文件引入该包,在该包里面创建.c文件,eg:hello.c:

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

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

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

5、在Cygwin里进入jni目录执行ndk-build命令
进入jni目录: cd /cygdrive/d/Android/ProTest/NdkTestActivity/jni/
6、------------------------------------------可以开始测试--------------------
7、在Activity里实现Button的点击事件

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

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

原创粉丝点击