Android studio编译NDK

  1. 修改local.properties(SDK Location),添加“ndk.dir=xxxxxxx”,xxxx为本地ndk目录,特殊符号需要用'\'转意

  2. 修改gradle.properties(Project Properties),添加'android.userDeprecatedNdk=true',启用ndk编译

    (纠错:此处应该为:android.useDeprecatedNdk=true)
           

  3. 新建app项目,选择project显示模式,右键工程的app目录

  4. 选择New——Folder——JNIFolder——确定        

  5. 在jni目录新建.c/.h文件        

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



上一篇:模块配置组件 Example 程序


下一篇:【资料下载】2018南京云栖大会:企业研发云专场——企业如何提升研发效能,实现业务价值?