天天看點

Android studio 編譯NDK--使用cmake

以編譯LibJpeg為例,友善了解。

1.把下載下傳下來的libjpeg庫中的所有檔案都放在src/main/cpp 檔案夾下:

Android studio 編譯NDK--使用cmake

2.libjpeg庫中已經寫好了CMakeLists.text,隻需要引用一下就可以了,如果沒有則需要自己編寫CMakeLists.txt

Android studio 編譯NDK--使用cmake

3.編譯之後會生成so庫和必要的頭檔案:

Android studio 編譯NDK--使用cmake
Android studio 編譯NDK--使用cmake

4.編寫C檔案,把所需要的頭檔案放入cpp檔案夾下:

Android studio 編譯NDK--使用cmake

so庫放入jnilibs檔案夾下:

Android studio 編譯NDK--使用cmake

根據編寫JNI規則寫c代碼:

Android studio 編譯NDK--使用cmake

java目錄下編寫native方法:

Android studio 編譯NDK--使用cmake

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} )      

繼續閱讀