Android Studio NDK开发-现有项目添加NDK支持

此篇主要以案例讲解在现有项目添加NDK支持,并且使用ndk-build编译库文件;

1. 从IDE左侧打开Project窗口,从下拉框选择Project视图


2. 导航到app目录下的src的main目录下,右键->New Directory新建一个目录jni;



3. 在main的java目录下添加native函数;

添加 com.niubashaoye.demo.ndkdemo.JNITools.java

public class JNITools {
    static{
        System.loadLibrary("NDKLib");
    }
    public native int addNum(int num1,int num2);
}

4. 添加javah自动生成头文件配置,然后使用javah生成头文件到jni目录中;

5. 在jni目录下新建一个C/C++ Source文件NDKLib.cpp,引用头文件并实现方法;

#include <jni.h>
#include "com_niubashaoye_demo_ndkdemo_JNITools.h"

JNIEXPORT jint JNICALL Java_com_niubashaoye_demo_ndkdemo_JNITools_addNum
  (JNIEnv *env, jobject obj, jint num1, jint num2){
   return num1+num2;
  }

6. 在jni目录下新建Android.mk文件,配置ndk的库文件编译环境;

详情参考:Android.mk用法详解

LOCAL_PATH := $(call my-dir)

include $(CLEAR_VARS)

LOCAL_MODULE    := NDKLib
LOCAL_SRC_FILES := NDKLib.cpp
LOCAL_LDLIBS := -lm -llog
include $(BUILD_SHARED_LIBRARY)

7. 添加C/C++到Gradle配置中

切换到Anroid视图下,项目名右键 ->Link C++ Project with Gradle ->选择ndk-build,然后选择Android.mk的路径


8. 调用JNI函数

 int num = new JNITools().addNum(34,68);
 Toast.makeText(getApplicationContext(), "34+68="+num, Toast.LENGTH_SHORT).show();

代码下载: https://download.csdn.net/download/niuba123456/10542053


猜你喜欢

转载自blog.csdn.net/niuba123456/article/details/81050052