1.下载ndk
下载完以后,配置环境变量,在path添加ndk路径。
2.在项目根目录下新建一个jni文件夹,添加一个Android.mk文件,此文件用来配置项目路径以及要编译的c/c++、生成.so文件的名字等。
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello-jni//生成的so文件的名字
LOCAL_SRC_FILES := hello-jni.c//要编译的c/c++的类名
include $(BUILD_SHARED_LIBRARY)
3.打开一个命令行窗口,进入到jni文件夹的路径下,输入命令ndk-build,执行完以后,会在根目录下生成一个lib文件,里边对应了各种类型的指令集的so文件。
4.将需要的so文件拷贝到app/lib下
5.在app build.gradle中添加
android{
sourceSets {
main.jni.srcDirs = []
main.jniLibs.srcDirs = ['libs']
}
}
6.加载so文件
static {
System.loadLibrary("hello-jni");
}
7.声明对应的c/c++中的native方法,例如
public native String stringFromJNI();
OK!