需要再Android项目中,用到libjpeg库。后者是用C写的一个JPEG标准库。
在网上搜索了一篇,请教了同学。方法就是用JNI编程来调用libjpeg库。
1. JNI 编程与 Android NDK
JNI(Java Native Inteface)是java与其他语言沟通的机制,java调用c语言(/c++)的协议,即一种规范。java可以通过JNI调用c语言。本地的c语言也可以调用java代码。
NDK是一系列工具的集合。它提供了一系列工具,使得开发者快速开发c的动态库,并能自动将.so与java应用打包成APK。它集成了交叉编译器,并提供了相应的mk文件隔离CPU、平台、ABI等差异,开发人员只需要简单修改mk文件(指出“哪些文件需要编译”、“编译特性要求”等),就可以创建出so。它可以自动地将so和Java应用一起打包,极大地减轻了开发人员的打包工作。