Android开发中渠道包过多时gradle过滤处理


有些公司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)
    }
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:http://11000011.com/?id=10

« 上一篇 下一篇 »

我要评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。

主机推荐

  • 搬瓦工