有谁知道 srcDir 的包含如何在 gradle 实验文件(cpp 和 h)中工作?这是一个“三重”问题:
1°) srcDir 是如何工作的?
1.a°)它是否递归地包括所有子目录?它是否仅包含深层文件?它们是否包含所有 cpp/c/cc/cxx 文件?
例如这个命令:
android.sources {
main {
jni {
source {
srcDir "../../../../some/path/src"
}
}
}
}
它是否包含 src 下的所有 cpp 文件?src 下的所有文件?所有cpp文件递归到子目录?所有文件递归到子目录?
谷歌文档非常模糊:
http://tools.android.com/tech-docs/new-build-system/gradle-experimental
并且 gradle 也不清楚:
https://docs.gradle.org/current/userguide/nativeBinaries.html
它说它只包括 src/${name}/cpp ?这是什么意思?我必须创建一个
../../../../some/path/src/cpp
文件夹?
1.b°)标题怎么样:
android.sources {
main {
jni {
exportedHeaders {
srcDir "../../../../some/path/src"
}
}
}
}
我觉得应用于标头的 srcDir 指令与源的 srcDir 指令的工作方式不同(它仅包括其当前深度的标头)
2°)如果我想要文件和目录之间的混合怎么办?
android.sources {
main {
jni {
source {
srcDir "../../../../some/path/src"
srcFile "../../../../some/path/src/myFile.cpp"
}
}
}
}
似乎不起作用
3°)包含/排除指令如何工作?
include/exclude 指令呢,它们只适用于前面的 srcDir 语句吗?还是它们适用于“源”块的所有语句?
正在做:
android.sources {
main {
jni {
source {
srcDir "../../../../some/path/src"
include "*.cpp"
}
}
}
}
似乎不包含任何 cpp 文件。我以为它会包括这个文件夹层次结构的所有cpp文件,甚至是src下的所有cpp文件,但看起来它没有。
我想指出我正在使用 gradle 2.9,这是最新的 gradle-experimental-0.6.0-alpha3 插件所必需的。