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

前言

什么是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-

Vaccae的往期经典


OpenCV

《C++ OpenCV案例实战---卡号获取

《C++ OpenCV案例实战---卡片截取(附代码)

《C++ OpenCV透视变换---切换手机正面图片》

《C++ OpenCV实战---获取数量

《C++ OpenCV实战---利用颜色分割获取数量》


Android

《Android利用SurfaceView结合科大讯飞修改语音实别UI

《Android关于语音识别的功能实现分析(一)---结构化思维》

《Android关于语音识别的功能实现分析(二)---语义解析》

《Android根据类生成签名字符串

《Android碎片化布局fragment的实战应用


.Net C#

《C#自定义特性(Attribute)讲解与实际应用

《C#根据类生成签名字符串(附DEMO下载地址)

《C++创建动态库C#调用》

《C#与三菱PLC(型号FX2N)串口通讯类


数据库及其它

《Oracel存储过程写报表实战》

《Delphi轮播视频和图片程序(用于双屏显示程序)

《SQL随机增加销售数据的脚本编写(附脚本下载地址)


长按下方二维码关注微卡智享

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Vaccae

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值