今天来实现一个Jni函数的动态注册,什么是动态注册呢,我理解为其实就是把函数重新导出,在本例中并没有实现头文件声明的函数,而是用了另一个函数去注册了声明的函数,可能理解这段话有点绕口,那么下面直接开始实践吧,看代码相信更容易理解,如果没有基础也没有学习前两篇博文的话,建议点击此处Jni开发 先学习一下前两篇
一.新建一个名为jniTest02的工程并添加Myjni类
1.Myjni.java代码如下
2.MainActivity.java代码如下
二.新建Jni目录创建C++头文件和源文件与.mk文件
1.生成Myjni.java的头文件放入Jni目录下,方法在前两篇文章有写到
2.创建名为Myjni.cpp的C++源文件
3.创建android.mk文件
4.创建Application.mk文件
android.mk代码如下:
LOCAL_PATH := $(call my-dir) include $(CLEAR_VARS) LOCAL_CPP_EXTENSION := cpp LOCAL_MODULE := Myjni LOCAL_SRC_FILES := Myjni.cpp LOCAL_LDLIBS := -llog include $(BUILD_SHARED_LIBRARY)
Application.mk文件代码如下: