task copyLibs(type: Copy) {
mybuildpath('path.name').string.split(" ")
.collect {
mybuildpath('[' + it + ']pkg.lib').string
}
.findAll {
it.length() > 0
}
.each {
from(new File(it)) {
if (!getCurrentFlavor().contains('SomeKeyWord')) {
include '**/folder1/**/*.so'
include '**/folder2/**/*.so'
// include '**/lib1.so'
// include '**/lib2.so'
// include '**/lib3.so'
// include '**/lib4.so'
} else {
include '**/*.so'
}
}
into new File(buildDir, 'native-libs-folder')
}
}
这在我的项目的android.gradle中,我必须在编译期间包含一些.so文件。 folder1和folder2拥有所有这些库[lib1,lib2,...等],我想将它们全部包含在内。 但是这段代码不起作用,并没有导入native-lib-folder中的任何库, 但是当我评论这两行并取消注释下面的4 [那些特定的** / lib1.so,...等等]时,这4个库被复制到native-lib-folder中。 我搜索过,我觉得正则表达式语法是正确的,但仍然无法理解我做错了什么。 请指导
答案 0 :(得分:1)