Hello NDK-初学

Hello NDK-初学_第1张图片
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。如下图:

Hello NDK-初学_第2张图片
图片.png

二.配置环境变量

--增加一项:NDK_ROOT,如:D:\Android\android-sdk-windows\ndk-bundle
--在path中增加%NDK_ROOT%
Hello NDK-初学_第3张图片
图片.png
Hello NDK-初学_第4张图片
图片.png

三.工程基本使用

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

Hello NDK-初学_第5张图片
图片.png

1.新建hello-jni.c

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

#include 
#include 
/* 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层调用

Hello NDK-初学_第6张图片
图片.png

你可能感兴趣的:(Hello NDK-初学)