ndkbuild与cmake

作者: efan | 来源:发表于2018-06-11 21:25 被阅读59次

在 Android 项目中使用 jni 有两种编译方案,一种是传统的ndkbuild,一种是当前推荐使用的 cmake;

如果在创建项目的时候选择了 include C++ support 则会创建包含 cmake 的项目模板;

两者均是生成 so 包;

编译方式

gradle 对两种编译方式进行了统一;只需要在 module 下的build.gradle 中添加

externalNativeBuild {
    ndkBuild {
        path "src/main/jni/Android.mk"
    }
}

或者

externalNativeBuild {
    cmake {
        path "CMakeLists.txt"
    }
}

其中 path 指定的是两种编译情况下所需配置文件的地址

此外:

ndkbuild 编译情况下可在android->defaultConfig 中添加

ndk{
    abiFilters "armeabi-v7a"
}

用于设置NDKOption,如abiFilters等;

cmake 编译情况下可在android->defaultConfig 中添加

externalNativeBuild {
    cmake {
        abiFilters "armeabi-v7a"
        cppFlags ""
    }
}

用于设置ExternalNativeNdkBuildOptions,如abiFilters、cppFlags等;

编译配置

在ndkbuild中,采用Android.mk+Application.mk+src的方式

在camke中,采用CmakeLists.txt+src的方式

相关文章

  • ndkbuild与cmake

    在 Android 项目中使用 jni 有两种编译方案,一种是传统的ndkbuild,一种是当前推荐使用的 cma...

  • Android.mk 用法

    一、Android 中jni有两种编译方案,一种是传统的ndkbuild,一直是当前推荐使用用的cmake 1、编...

  • NDK<第六篇>:Android.mk在AS中的使用

    【1】ndkBuild配置 在模块下的 build.gradle 中配置 ndkBuild,确认CPU架构以及An...

  • make&&cmake

    make与cmake 原文件--camkelist(cmake依据的规则) ---cmake(自动生成makefi...

  • android NDK

    task ndkBuild(type: Exec) { if (Os.isFamily(Os.FAMILY_WIN...

  • 9.Ubuntu安装cmake

    一、安装cmake 在cmake官网下载cmake:https://cmake.org/download/ 我没有...

  • 编译

    【OpenCV3】OpenCV3.2.0在VS2013环境下Cmake编译与快速配置 Windows下 Cmake...

  • 学习cmake

    c++与fortran混合编程时的cmake 在fortran和c++混合编程时,使用cmake工具参考link[...

  • CMake学习

    目录 什么是CMake? linux平台安装CMake CMake的helloworld 1. 什么是CMake?...

  • LNMP安装教程:安装mysql

    安装Mysql前需要安装cmake 1.安装cmake 下载cmake wget http://www.cmake...

网友评论

    本文标题:ndkbuild与cmake

    本文链接:https://www.haomeiwen.com/subject/cghkeftx.html