原文链接:https://blog.csdn.net/afei__/article/details/81271594

一、简介

    在 Android Studio 2.2 以上的版本,推荐使用 CMake 来编译工程里的 C/C++ 代码(包括 JNI 部分)。
    一般来言,我们只需要关注和编写 CMakeLists.txt 即可,至于 CMake 如何编译,以及使用的什么样的配置选项是不怎么关心的(会有一系列默认的配置)。不过,如果你需要更改或者定制化一些编译的选项,你就需要了解一下如果在 gradle 中配置这些信息了。

 
二、如何在 gradle 中使用 cmake 的变量

    android {
      ...
      defaultConfig {
        ...
        externalNativeBuild {
          cmake {
            // 指定一些编译选项
            cppFlags "-std=c++11 -frtti -fexceptions"
            ...
     
            // 也可以使用下面这种语法向变量传递参数:
            // arguments "-D变量名=参数".
            arguments "-DANDROID_ARM_NEON=TRUE",
            // 使用下面这种语法向变量传递多个参数(参数之间使用空格隔开):
            // arguments "-D变量名=参数1 参数2"
                      "-DANDROID_CPP_FEATURES=rtti exceptions"
     
            // 指定ABI
            abiFilters "armeabi-v7a" , "arm64-v8a"
          }
        }
      }
      buildTypes {...}
      
      externalNativeBuild {
        cmake {
            path "CMakeLists.txt"
        }
      }
    }

在 Module 级别的 build.gradle 文件中,使用类似上述 cmake 块中形式配置相关参数。

 
三、CMake 编译 NDK 所支持的变量配置

 

 

 
四、附表(C++ 库支持)

参考:https://developer.android.com/ndk/guides/cpp-support#system 

​

更多推荐