有些公司App需要大力推广,所以会要求打大量的渠道包,这样gradle文件里面会产生一堆配置,如果不进行处理每次打开项目会非常慢,AS会花大量的时间去处理这些渠道包,为了避免这个问题,只需要在variantFilter进行一些过滤配置就行了,大致如下
variantFilter { variant ->
def names = variant.flavors*.name
def buildTypeName = variant.buildType.name
// 过滤分组或者渠道信息
Boolean is_target_vendor = names[0].contains('vendor')
Boolean is_target_channel = names[1].contains('channel')
// 过滤打包类型 release还是debug
Boolean is_target_type = buildTypeName.equals('debug') || buildTypeName.equals('release')
if (is_target_vendor && is_target_channel && is_target_type) {
variant.setIgnore(false)
logger.warn('package flavor:' + names)
}
else {
// 其他包直接忽略
variant.setIgnore(true)
}
}
我要评论