目录
一、前言
二、ExternalNativeBuild 的结构简析
三、cmake
四、ndkBuild
五、写在最后
一、前言
今天分享 ExternalNativeBuild 配置,用于控制 native 的编译
二、ExternalNativeBuild 的结构简析
1、ExternalNativeBuild 存在位置
ExternalNativeBuild 会映射为 com.android.build.gradle.internal.dsl.ExternalNativeBuild
类,继承结构如下:
2、ExternalNativeBuild 的属性
2.1 cmake
- 类型:CmakeOptions
- 具体请见第三小节
2.2 ndkBuild
- 类型:NdkBuildOptions
- 具体请见第四小节
3、代码结构
externalNativeBuild {
ndkBuild {
...
}
cmake {
...
}
}
三、cmake
1、存在位置
映射为 com.android.build.gradle.internal.dsl.CmakeOptions
,类继承结构
2、cmake属性
2.1 buildStagingDirectory
- 类型:String
- 描述:配置native构建后文件的存放路径
- 使用方法:
cmake {
buildStagingDirectory "./outputs/cmake"
}
2.2 path
- 类型:String
- 描述:设置 CMakeLists.txt 的路径
- 使用方法:
cmake {
path "src/main/cpp/CMakeLists.txt"
}
2.3 version
- 类型:String
- 描述:设置 Android 编译CMake的版本
- 使用方法:
cmake {
version "3.10.2"
}
四、ndkBuild
1、存在位置
映射为 com.android.build.gradle.internal.dsl.NdkBuildOptions
,类继承结构
2、ndkBuild属性
2.1 buildStagingDirectory
- 类型:String
- 描述:配置native构建后文件的存放路径
- 使用方法:
ndkBuild {
buildStagingDirectory "./outputs/ndk-build"
}
2.2 path
- 类型:String
- 描述:设置 Android.mk 的路径
- 使用方法:
ndkBuild {
path 'Android.mk'
}
五、写在最后
Gradle项目地址:Github传送门 (如果对你有所帮助或喜欢的话,赏个star吧,码字不易,请多多支持)
本篇博文的 ExternalNativeBuild 配置,请进传送门
如果觉得本篇博文对你有所启发或是解决了困惑,给个赞或关注公众号呀,小盆友会继续分享更多的优质文章。
或是请我喝杯咖啡吧,小盆友会更加信心百倍的写下去