Android studio 编译NDK--使用cmake

以编译LibJpeg为例,方便理解。

1.把下载下来的libjpeg库中的所有文件都放在src/main/cpp 文件夹下:

Android studio 编译NDK--使用cmake_第1张图片

2.libjpeg库中已经写好了CMakeLists.text,只需要引用一下就可以了,如果没有则需要自己编写CMakeLists.txt

Android studio 编译NDK--使用cmake_第2张图片

3.编译之后会生成so库和必要的头文件:

Android studio 编译NDK--使用cmake_第3张图片

 

 

Android studio 编译NDK--使用cmake_第4张图片

 

4.编写C文件,把所需要的头文件放入cpp文件夹下:

Android studio 编译NDK--使用cmake_第5张图片

so库放入jnilibs文件夹下:

Android studio 编译NDK--使用cmake_第6张图片

根据编写JNI规则写c代码:

java目录下编写native方法:

Android studio 编译NDK--使用cmake_第7张图片

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

 

 

你可能感兴趣的:(个人学习)