Android NDK编程(一)---NDK介绍及环境搭建

2019-07-25 14:29:46 浏览数 (1)

前言

什么是NDK?

NDK全称为Native Development Kit,是Android的一个工具开发包,帮助开发者快速开发C(或C )的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。

NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。

NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。


  • 在Android开发中,使用 NDK开发的需求正逐渐增大
  • 但很多人却搞不懂 JNI 与 NDK 到底是怎么回事
  • 今天,我将先介绍JNI 与 NDK & 之间的区别,手把手进行 NDK的使用教学,希望你们会喜欢

从上面的讲的里面又说到了JNI,那JNI又是什么是呢

JNI全称为Java Native Interface,即 Java本地接口。它的作为为使得Java 与 本地其他类型语言(如C、C )交互。


NDK与JNI的关系


Android Studio NDK的环境配置

我用的Android Studio的版本为3.3.2

在上面的工具栏里打开SDK Manager

然后我们点击SDK Tools

进入后里面的LLDB、CMAKE和NDK这三项都打上勾进行下载安装。

新建NDK项目

点击Start a new Android Studio project

找到最后一项Native C ,然后再点击Next。

注:3.3以前可以直接选空的Acitivty然后后面有选项是include C 打上勾,这块改变也是后来才找到,刚才始的时候也是一脸懵逼了

输入一个Name为vaccaendk,然后再点击Next

选择C 版本,可以选择C 11,C 14,我们这里默认即可。点击Finish就会创建项目

创建好后的项目可以从下图上看到,左侧多了一个CPP的包,里面有CMakeList.txt和native-lib.cpp的文件,在默认的MainActivity里面可以看到右侧红框里面上面是引用名为native-lib的库名,下面是一个stringFromJNI的一个demo例子

我们再来看看native-lib.cpp

这里面就是对应的Mainactivity里面stringFromJNI的C 的代码。到这里一个带有NDK的项目就创建完成了。

-END-

0 人点赞