zoukankan      html  css  js  c++  java
  • 多渠道的配置

    多渠道先要分析需求,然后按功能划分成几个维度.举个例子,我们要打的包特供"好女人"和"坏男人",我们的需求就可以分成两个维度,"性别"和"品性"

    先定义这两个维度

    android{
        defaultConfig {
                flavorDimensions "性别","品性"
        }
    }
    

      然后我们配置productFlavors,

    android{
        productFlavors{
           好 {
                  dimension '品性'
            }
            坏{
                 dimension '品性'
               }
            男人{
                dimension '性别'
            }
             女人{
                  dimension '性别'
            }
           
        }
    }
    

      由于我们只需要好女人和坏男人两个版本,所以需要把好男人和坏女人过滤掉

    android{
        defaultConfig{
    	flavorDimensions "品性","性别"
        }
        productFlavors{
           好 {
                  dimension '品性'
            }
            坏{
                 dimension '品性'
               }
            男人{
                dimension '性别'
            }
             女人{
                  dimension '性别'
            }
           
        }
    
        variantFilter{
            def names = it.flavors*.name
            if(names.contains("男人") && names.contains("好")){
                setIgnore(true)
            }
    	if(names.contains("女人") && names.contains("坏")){
                setIgnore(true)
            }
         }
    }
    

      然后,我们坏男人专用版本只供测试,不对外分部,也就是说不需要release版本

    android{
        defaultConfig{
    	flavorDimensions "品性","性别"
        }
        productFlavors{
           好 {
                  dimension '品性'
            }
            坏{
                 dimension '品性'
               }
            男人{
                dimension '性别'
            }
             女人{
                  dimension '性别'
            }
           
        }
    
        variantFilter{
            def names = it.flavors*.name
            if(names.contains("男人") && names.contains("好")){
                setIgnore(true)
            }
    	if(names.contains("女人") && names.contains("坏")){
                setIgnore(true)
            }
    	if(names.contains("男人")&&names.contains("坏") && it.buildType.name=='release'){
                setIgnore(true)
            }
         }
    }
    

      坏有部分特殊的代码,另外放置,女人也有部分代码和资源放置到其它目录

    android{
        defaultConfig{
    	flavorDimensions "品性","性别"
        }
        productFlavors{
           好 {
                  dimension '品性'
            }
            坏{
                 dimension '品性'
               }
            男人{
                dimension '性别'
            }
             女人{
                  dimension '性别'
            }
           
        }
    
        variantFilter{
            def names = it.flavors*.name
            if(names.contains("男人") && names.contains("好")){
                setIgnore(true)
            }
    	if(names.contains("女人") && names.contains("坏")){
                setIgnore(true)
            }
    	if(names.contains("男人")&&names.contains("坏") && it.buildType.name=='release'){
                setIgnore(true)
            }
         }
        sourceSets{
    	main{...}
    	坏{...}
    	女人{...}
        }
    }
    

      

  • 相关阅读:
    Intel汇编程序设计-整数算术指令(上)
    Intel汇编程序设计-整数算术指令(上)
    Windows核心编程 第四章 进程(下)
    Windows核心编程 第四章 进程(下)
    Windows核心编程 第四章 进程(中)
    Windows核心编程 第四章 进程(中)
    PAT L2-017 人以群分
    PAT 1087 有多少不同的值
    PAT 1086 就不告诉你
    PAT 1020 月饼
  • 原文地址:https://www.cnblogs.com/gelandesprung/p/10143373.html
Copyright © 2011-2022 走看看