无法在android.gradle

时间:2017-08-17 09:20:02

标签: android regex gradle groovy filepath

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中。 我搜索过,我觉得正则表达式语法是正确的,但仍然无法理解我做错了什么。 请指导

1 个答案:

答案 0 :(得分:1)

Ii Ant path style不是正则表达式。

尝试

include '/folder1/*.so'
include '/folder2/*.so'

代替。