目錄
一、前言
二、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 配置,請進傳送門
如果覺得本篇博文對你有所啓發或是解決了困惑,給個贊或關注我呀,小盆友會繼續分享更多的優質文章。