1.下载NDK(可以从Android Studio的SDK manager中下载),并配置环境变量(新建NDK_ROOT对应I:\Android\SDK\ndk-bundle并在path添加%NDK_ROOT%)
2.项目右键->new->folder->jnifloder
3.jni目录右键->new->c/c++ source file->添加hello-jni并选择.c类型
4.打开hello-jni.c文件,编写如下代码:
#include
JNIEXPORTjstringJNICALL
Java_com_cn_demo_MainActivity_getStringFromJNI(JNIEnv*env,jobject*object) {
return(*env)->NewStringUTF(env,"Hello from JNI!");
}
5.JNI方法构造为"Java+包名+调用的类名+调用方法名"
6.在jni目录下新建Android.mk的txt文档并输入以下代码:
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE :=hello-jni
LOCAL_SRC_FILES :=hello-jni.c
include $(BUILD_SHARED_LIBRARY)
7.LOCAL_MODULE对应System.loadLibrary调用的名称,LOCAL_SRC_FILES对应调用的.c文件
8.在modlue的build.gradle对应的android中添加编译代码如下:
externalNativeBuild{
ndkBuild{
path file("src/main/jni/Android.mk")
}
}
9.在MainActivity加载和调用如下:
static{System.loadLibrary("hello-jni");}
public nativeString getStringFromJNI();
网友评论