1. Android Studio 配置 NDK
进入 SDK Manager,选择 SDK Tools

勾选 NDK 和一个 LLDB 版本,然后点击 Apply

下载完成后,打开 File -- Project Structure -- SDK Location
然后选择 Android NDK location,点击 Select default NDK

2. Android Studio 代码Demo
新建工程NdkDemo, 并新建NDKTools文件

package com.rich.ndkdemo;
public class NDKTools {
public static native String getStringFromNDK();
}
进入项目app\src\main\java目录下,执行 javah -classpath . -jni com.rich.ndkdemo.NDKTools命令生成.h文件


与java目录平级,建立jni目录,将生成的.h文件移动到jni目录下,同时新建.c 和 Android.mk文件
#include "com_rich_ndkdemo_NDKTools.h"
JNIEXPORT jstring JNICALL Java_com_rich_ndkdemo_NDKTools_getStringFromNDK(JNIEnv *env, jobject obj)
{
return (*env)->NewStringUTF(env,"Hellow World,this is Richard first NDK Code");
}
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := ndkdemotest-jni
LOCAL_SRC_FILES := ndkdemotest.c
include $(BUILD_SHARED_LIBRARY)
修改build.gradle文件

在NDKTools.java文件中添加
static {
System.loadLibrary("ndkdemotest-jni");
}


Demo地址 https://github.com/RichardKuma/Richard/tree/master/NdkDemo
网友评论