以编译LibJpeg为例,方便理解。
1.把下载下来的libjpeg库中的所有文件都放在src/main/cpp 文件夹下:
2.libjpeg库中已经写好了CMakeLists.text,只需要引用一下就可以了,如果没有则需要自己编写CMakeLists.txt
3.编译之后会生成so库和必要的头文件:
4.编写C文件,把所需要的头文件放入cpp文件夹下:
so库放入jnilibs文件夹下:
根据编写JNI规则写c代码:
java目录下编写native方法:
5.编写cmakeLists.txt
set_target_properties(libturbojpeg PROPERTIES IMPORTED_LOCATION "${libs}/${ANDROID_ABI}/libturbojpeg.so") add_library( jni_jpeg SHARED src/main/cpp/libjpegTurbo.cpp ) find_library( log-lib log ) target_link_libraries( jni_jpeg turbo yuv ${log-lib} )