-
修改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(); }