NDK安装及配置
可以去官网下载(官网下载需要翻墙)安装或者直接点击下载安装(Tools->Android->SDK Manager->SDK Tools选中LLDB和NDK点击OK直接安装,如下图)
环境变量配置
在系统变量中配置直接下载好的ndk-build路径即可
这时如果你在cmd中输入ndk-build,控制台就打印出下面内容,因为ndk-build是相对具体项目来编译的
到此环境变量就配置好
在AS上配置jni相关命令步骤
Tools->Android->SDK Manager 输入External Tool
步骤
1、新建一个普通JniTest.java文件用来存放编译成.h文件
public class JniTest {
public native String getString();
}
2、对JniTest编译生成.h文件
在终端切换到项目的app目录下
输入javah -d jni -classpath D:\practice_androidpro\HelloNdk\app\src\main\java com.example.hellondk.JniTest(这里路径指的是文件绝对路径)
这时在jni文件下生成了com_example_hellondk_JniTest.h文件
3、在jni文件夹下新建一个.c(hello.c)文件
#include "com_example_hellondk_JniTest.h"
JNIEXPORT jstring JNICALL Java_com_example_hellondk_JniTest_getString
(JNIEnv *env, jobject jobj){
return (*env)->NewStringUTF(env, "Hello Jni!!!");
}
4、在jni文件夹下新建Android.mk文件
LOCAL_PATH := $(call my-dir)
include $(CLEAR_VARS)
LOCAL_MODULE := hello
LOCAL_SRC_FILES := hello.c
include $(BUILD_SHARED_LIBRARY)
LOCAL_MODULE := hello 要生成的so库的名称,实际生成的是libhello.so
LOCAL_SRC_FILES := hello.c 要使用的文件,刚才编写的hello.c
5、在jni文件夹下新建Application.mk
APP_ABI := all
在终端切换到项目的app目录下
然后输入ndk-build
生成.so文件
7、在build.gradle下相关配置
8、在JniTest.java引用生成.so资源
在MainActivity中将生成内容显示出来
运行的结果