使用gradle构建脚本从资产目录中排除文件以进行发布构建

时间:2018-04-26 15:16:19

标签: android gradle build

这是一个Android项目。我试图在assets文件夹下排除资源文件。我试过了

  

" aaptOptions {ignoreAssetsPattern" file.json"}"

但它排除了所有构建变体的文件。

我尝试了以下操作,但仍然无效。

  

android.variantFilter {variant - >       if(variant.buildType.name.equals(' release')){           variant.mergeAssets.doLast {               删除(fileTree(dir:' assets / filedir',包括:[' file.json']))           }       }}

请帮忙。非常感谢。

1 个答案:

答案 0 :(得分:0)

您可以通过查询BuildConfig对象来检查您是否处于releasedebug模式。通过执行此操作,您可以设置条件验证并排除要为特定BuildConfig模式删除的文件:

if (BuildConfig.RELEASE) 
{
    // do something, exclude your file
}

或者,您可以比较BUILD_TYPE并以相同的方式使用它:

if(BuildConfig.BUILD_TYPE.equals("release"))
{
    // do something, exclude your file
}

在相关任务中实现这一点,你很高兴。另外,thisthis答案解释了如何很好地实现您想要做的事情。

顺便说一句,你可以将aaptOptions包装在这样的发布闭包中:

release {
    aaptOptions {
        ignoreAssetsPattern 'file.json' // Your file pattern
    }
}