开发嵌入式Linux驱动模块的时候,搭建交叉编译环境是至关重要的一环,它决定了代码可以在哪些设备上运行。在开发Android驱动的时候,同样需要搭建交叉编译环境,Android使用一套独立的开发套件——NDK。
什么是NDK
NDK是一系列工具的集合。
- NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk。这些工具对开发者的帮助是巨大的。
- NDK集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。
- NDK可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。
下载NDK
最新版
https://developer.android.google.cn/ndk/downloads/index.html
历史版本
https://developer.android.google.cn/ndk/downloads/revision_history.html
使用NDK
我们所需要的交叉编译器在NDK目录中的toolchains中,根据不同的处理器架构选择相应的交叉编译器。