我正在使用Android Studio 2.2並設置Gradle通過CMake使用NDK構建c/C++源。如何禁用某些構建變體的Android NDK構建
現在我想爲buildType「debug」禁用NDK構建。對於buildType「發佈」,我想保留它。
目標是在構建服務器上編譯NDK源代碼(使用「release」),但爲開發人員禁用它(使用「debug」)。
這是的build.gradle文件目前正在使用:
android {
externalNativeBuild {
cmake {
path "CMakeLists.txt"
}
}
defaultConfig {
externalNativeBuild {
cmake {
arguments "-DANDROID_TOOLCHAIN=clang"
cppFlags "-std=c++14"
}
}
ndk {
abiFilters 'armeabi-v7a', 'x86'
}
}
buildTypes {
release {
externalNativeBuild {
cmake {
arguments "-DANDROID_TOOLCHAIN=clang"
cppFlags "-std=c++14"
}
}
ndk {
abiFilters 'armeabi-v7a'
}
}
}
}
如何我可以禁用NDK編譯(externalNativeBuild)爲defaultConfig或buildType 「調試」?
其他開發者將不會安裝NDK(local.properties 沒有 ndk.dir = PATH_TO_NDK)。這可能配置嗎?
預先感謝
編輯:
這externalNativeBuild必須與被配置 'com.android.library'模塊,而不是一個' com.android.application'-模塊。
謝謝@yakobom! 我發現了一個解決方案,其靈感來自你對#2的回答。我已將它作爲單獨的答案發布。 #1不再需要了。我忘了提到一個重要的細節 - 「外部生成構造」配置應該爲圖書館而不是應用程序。我並不知道以下限制:「默認情況下,庫僅發佈其版本變體」(http://tools.android.com/tech-docs/new-build-system/user-guide) – andrfog