一.概述
使用NDK可以编译出静态(.a)、动态(.so)链接库和可执行文件
比在工程环境里写mk或者bp要方便很多
一段时间不用NDK编译容易忘记怎么使用,所以用一个小的 "Hello Ndk-Build!" Demo记录NDK编译的基本过程
二.什么是NDK?
NDK:Native Development Kit,Android的一种开发工具包(其实就是在安卓平台编写C和C++程序的开发包)
作用:编译静态库、动态库和可执行文件
NDK环境配置
Windows环境就可以配置NDK,所以很方便
配置NDK开发环境有两种方式:
(1).AndroidStudio下载
如果电脑里安装了AndroidStudio,可以使用AndroidStudio自动下载NDK
下载之后配置环境变量:
(2).下载NDK
官方链接:NDK 下载 | Android NDK | Android Developers
下载后解压,然后配置环境变量
三."Hello Ndk-Build"
(1).新建jni文件夹
不管有几层目录,也不管上级目录是什么名字
最终需要编译的代码一定要在名为"jni"的目录下
否则就会出现如下编译报错:
(2).配置Application.mk
(3)配置Android.mk
(4)hello-jni.c
五.编译、运行
(1)编译
在jni目录下打开cmd,执行ndk-build
可以看到arm和intel两个平台的so都被编译生成了
生成的文件在jni平级目录libs下面:
(2).执行打印“Hello Ndk-Build!”
如果要看到so运行效果打印“Hello Ndk-Build!”,需要把so集成到代码或开发环境中进行调用执行
我们可以不那么麻烦,把Android.mk改一改,改成编译可执行文件
编译生成的可执行文件hello-jni,push到设备里随便哪个目录,chmod 777修改权限后运行:
“Hello Ndk-Build!” 成功打印!