文章目录
- externalNativeBuild
- 1.配置通用的 CMake 构建选项
- 2.指定 CMakeLists.txt 文件的位置和 CMake 版本
- 指定ndk版本
externalNativeBuild
下面的gradle代码包含两个externalNativeBuild {}
android {defaultConfig {externalNativeBuild {cmake {cppFlags ""}}}externalNativeBuild {cmake {path "src/main/cpp/CMakeLists.txt"version "3.22.1"}}}
下面来区分两个什么联系和区别。
1.配置通用的 CMake 构建选项
在 Android 开发中,CMake 通常用于构建使用 C++ 编写的本地代码。
在 build.gradle
文件中,使用了 externalNativeBuild
块配置 CMake 构建。
externalNativeBuild {cmake {cppFlags ""}
}
这部分代码表明正在配置 CMake 构建,并在其中设置了一些 C++ 编译标志(cppFlags
)。
解析一下各个部分:
externalNativeBuild
是一个 Android Gradle 插件提供的用于配置本地构建系统的部分。cmake
表明希望使用 CMake 进行构建。cppFlags
允许设置 C++ 编译器的标志。在这里,设置的是一个空字符串,表示没有额外的标志。
可以根据需要,将适当的编译标志添加到 cppFlags
中,以满足的项目需求。这可能包括优化标志、宏定义等。
例如:
externalNativeBuild {cmake {cppFlags "-O3 -DDEBUG_MODE"}
}
-O3
是一个优化标志,而 -DDEBUG_MODE
是一个用于定义调试模式的宏。
2.指定 CMakeLists.txt 文件的位置和 CMake 版本
externalNativeBuild {cmake {path "src/main/cpp/CMakeLists.txt"version "3.22.1"}
}
这个块用于更详细地配置 CMake 构建。
path
指定了 CMakeLists.txt 文件的位置,该文件包含了关于如何构建本地代码的指令。在这里,它指定了 “src/main/cpp/CMakeLists.txt”。version
指定了所使用的 CMake 版本。在这里,它指定了 “3.22.1” 版本。
这个块主要用于告诉 Gradle 在构建本地代码时应该使用哪个 CMakeLists.txt 文件以及使用哪个版本的 CMake。
指定ndk版本
在 Gradle 中指定 NDK(Android Native Development Kit)版本,可以使用 android.ndkVersion
属性。通常是在 Android Gradle 插件的 android
配置块中设置:
android {...ndkVersion "21.4.7075529" // 指定你想要的 NDK 版本...
}
除了 ndkVersion
属性之外,还可以在 local.properties
文件中使用 ndk.dir
属性指定 NDK 的路径。例如:
ndk.dir=/path/to/your/ndk