Android Studio开发之JNI开发 ---- 使用cmake方式来完成之前的Android.mk和Application.mk的功能,方式3(最终版)

序言 

基础版:https://blog.csdn.net/qq_41811438/article/details/103323128

升级版:https://blog.csdn.net/qq_41811438/article/details/103323497

这篇文章主要是在升级版的基础上,进行完善。目前我觉得这样的配置已经够用了。以此作为最终版,以备忘。

正文

1、CMakeLists.txt文件源码如下:

cmake_minimum_required(VERSION 3.4.1)

set(LOCAL_MODULE    DemoTest) # Specify the name of so that you will generate.

set(CMAKE_LIBRARY_OUTPUT_DIRECTORY  ${PROJECT_SOURCE_DIR}/SharedLibs/${ANDROID_ABI})

include_directories(${PROJECT_SOURCE_DIR}/Math/inc)
aux_source_directory(${PROJECT_SOURCE_DIR}/Math/src SRC_FILES_LIST)
MESSAGE(STATUS "Jimmy:")
MESSAGE(STATUS ${SRC_FILES_LIST})


add_library(${LOCAL_MODULE}
             SHARED
             # Following , the same as LOCAL_SRC_FILES in Android.mk
             JNI.cpp ${SRC_FILES_LIST})

target_link_libraries(${LOCAL_MODULE}
                       # Link the other so(dll).
                       log )

2、app目录下的build.gradle文件配置:

//jimmy add for ndk specified   //
    defaultConfig.externalNativeBuild.cmake{
        abiFilters 'armeabi-v7a'
    }
    externalNativeBuild {
        cmake {
            path 'src/main/jni/CMakeLists.txt'
        }
    }
    //

备注:

MESSAGE(STATUS "Jimmy:" "hi" "world") MESSAGE(STATUS "Include Files Folders: " ${PROJECT_SOURCE_DIR})
用来打印信息,以便于发现宏值是否有错!!!!

工程架构目录,部分截图:

---- The End.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值