-
修改local.properties(SDK Location),添加“ndk.dir=xxxxxxx”,xxxx为本地ndk目录,特殊符号需要用'\'转意
-
修改gradle.properties(Project Properties),添加'android.userDeprecatedNdk=true',启用ndk编译
(纠错:此处应该为:android.useDeprecatedNdk=true)
-
新建app项目,选择project显示模式,右键工程的app目录
-
选择New——Folder——JNIFolder——确定
-
在jni目录新建.c/.h文件
-
修改.h文件,添加文件导出“extern 'C'”
(备注:需要添加头文件:jni.h)
#include <jni.h>
extern "C" {
JNIEXPORT jstring JNICALL Java_com_yoyotiogo_jnitest_JniCommon_StringFromJNI(JNIEnv *env);
};
7、.cpp文件中添加函数实现
jstring Java_com_yoyotiogo_jnitest_JniCommon_StringFromJNI(JNIEnv *env){
return env->NewStringUTF("jni:string from jni");
}
8、修改build.gradle(Module: app),添加C模块的导出
defaultConfig {
applicationId "com.yoyotiogo.jnitest"
minSdkVersion 19
targetSdkVersion 23
versionCode 1
versionName "1.0"
ndk{
moduleName "avCommon"
}
}
9、在JAVA中调用NDK
public class JniCommon {
static {
System.loadLibrary("avCommon");
}
public static native String StringFromJNI();
}