我正在使用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