以編譯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} )