ExternalNativeBuild——安卓gradle

目錄
一、前言
二、ExternalNativeBuild 的結構簡析
三、cmake
四、ndkBuild
五、寫在最後

一、前言

今天分享 ExternalNativeBuild 配置,用於控制 native 的編譯

二、ExternalNativeBuild 的結構簡析

1、ExternalNativeBuild 存在位置

ExternalNativeBuild 會映射爲 com.android.build.gradle.internal.dsl.ExternalNativeBuild 類,繼承結構如下:

ExternalNativeBuild
CoreExternalNativeBuild

2、ExternalNativeBuild 的屬性

2.1 cmake

  • 類型:CmakeOptions
  • 具體請見第三小節

2.2 ndkBuild

  • 類型:NdkBuildOptions
  • 具體請見第四小節

3、代碼結構

externalNativeBuild {
	ndkBuild {
		...	
	}
	
	cmake {
		...
	}

}

三、cmake

1、存在位置

映射爲 com.android.build.gradle.internal.dsl.CmakeOptions,類繼承結構

CmakeOptions
CoreCmakeOptions

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,類繼承結構

NdkBuildOptions
CoreNdkBuildOptions

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 配置,請進傳送門

如果覺得本篇博文對你有所啓發或是解決了困惑,給個贊或關注我呀,小盆友會繼續分享更多的優質文章。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章