ndk工具设置

来源:互联网 发布:菜鸟教程vue.js 编辑:程序博客网 时间:2024/06/04 00:31

本文的目的就是实现在Android studio上也是Android.mk的方式构建native程序

由于AndroidStudio有默认的ndk开发环境。因此我们要做的就是将其关掉;然后通过命令进行:

  • jni的生成
  • so的生成

通过Android生成jni接口文件

1.直接上图(File->settings)

这里写图片描述

2.编辑javah工具

这里写图片描述

Program: path of the javeh.exe
Parameters: -classpath C:\androidtool\sdk\platforms\android-25\android.jar;. -jni -d $ModuleFileDir$/src/main/jni $FileClass$

注意: -classpath 后面跟了两个参数 C:\androidtool\sdk\platforms\android-25\android.jar;和 . ;因为android SDK中的字节码也需要被明确指出;
还有一个值得注意的地方: main/jni 这个目的,jni是我们自己创建的。
Working directories: $ModuleFileDir$\src\main\java

最后点击ok,这样就完成了javah工具的设置。

android studio中ndk-build 的设置

这里写图片描述

Program: C:\androidtool\sdk\ndk-bundle\ndk-build.cmd(path of the ndk-build.cmd)
Parameters: NDK_PROJECT_PATH=$ModuleFileDir$/build/intermediates/ndk NDK_LIBS_OUT=$ModuleFileDir$/src/main/jniLibs NDK_APPLICATION_MK=$ModuleFileDir$/src/main/jni/Application.mk APP_BUILD_SCRIPT=$ModuleFileDir$/src/main/jni/Android.mk V=1
Working directories: $SourcepathEntry$

配置gradle

android {    defaultConfig {    }    buildTypes {    }    sourceSets { main { jni.srcDirs = [] } }  //add this line}

简单使用

  1. 创建一个jni目录,用了存放jni头文件和*.mk文件
    这里写图片描述
  2. 在jni目录下创建Android.mk 和Applicaiton.mk 两个文件,用来描述ndk的必要信息
  3. 选中带有native方法的类,如下图的MainActivity,执行 external tool -> javah(已定义),即可生成jni 头文件于jni目录下。
    这里写图片描述
  4. 通过C/C++语言实现头上述头文件中声明的方法
  5. 使用ndk-build生成so,具体如下图:
    这里写图片描述

  6. 在java中加载使用so,然后运行程序。

原创粉丝点击