AS上jni相关配置

来源:互联网 发布:家庭影院网络播放器 编辑:程序博客网 时间:2024/05/21 09:35

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


6、在终端控制台去生成.so文件

在终端切换到项目的app目录下

然后输入ndk-build


生成.so文件



7、在build.gradle下相关配置



8、在JniTest.java引用生成.so资源


在MainActivity中将生成内容显示出来



运行的结果




0 0
原创粉丝点击