Hello NDK-初学

作者: 墨源为水 | 来源:发表于2016-12-21 11:08 被阅读43次
    Hello NDK

    一.NDK的安装

    本文使用的是android studio 2.2.3安装NDK,自然所在环境是windows。
    打开android studio的File | Settings | Appearance & Behavior | System Settings | Android SDK,选择SDK Tools,选中LLDB和NDK,点击确认,软件会自动安装NDK。如下图:

    图片.png

    二.配置环境变量

    --增加一项:NDK_ROOT,如:D:\Android\android-sdk-windows\ndk-bundle
    --在path中增加%NDK_ROOT%
    
    图片.png 图片.png

    三.工程基本使用

    在所在工程的src|main目录下新建文件夹jni

    图片.png

    1.新建hello-jni.c

    修改hello-jni.c文件中的函数名称,格式为:Java_包名类名函数名
    ( Java_me_jnidemo_myjnidemo_NdkJniUtils_stringFromJNI)

    #include <string.h>
    #include <jni.h>
    /* This is a trivial JNI example where we use a native method 
    * to return a new VM String. See the corresponding Java source * file located at: * * apps/samples/hello-jni/project/src/com/example/hellojni/HelloJni.java 
    */
    //jstring
    //Java_com_bazhangkeji_MainActivity_stringFromJNI( JNIEnv* env,// jobject thiz )
    //{
    // return (*env)->NewStringUTF(env, "Hello from JNI !");
    //}
    JNIEXPORT jstring JNICALLJava_com_bazhangkeji_demo01_MainActivity_stringFromJNI(JNIEnv *env, jobject instance) {
         // return (*env)->NewStringUTF(env, returnValue); 
         return (*env)->NewStringUTF(env, "Hello from JNI !");
    }
    

    2.新建Android.mk

    LOCAL_PATH := $(call my-dir)
    
    include $(CLEAR_VARS)
    
    LOCAL_MODULE    := hello-jni
    LOCAL_SRC_FILES := hello-jni.c
    
    include $(BUILD_SHARED_LIBRARY)
    

    3.在build.gradle中配置

    配置好,make project即可生成.so文件在app\build\intermediates\ndk-build\debug\lib中。
    增加语句:

    externalNativeBuild { 
      ndkBuild { 
         path file("src\\main\\jni\\Android.mk") } 
    }  
    

    4.java层调用

    图片.png

    相关文章

      网友评论

        本文标题:Hello NDK-初学

        本文链接:https://www.haomeiwen.com/subject/nwhqvttx.html