存在项目依赖的情况下,productFlavors的使用

 

         productFlavors在单个项目中的使用,其他已经有很多,找度娘一抓一大把,这里就不说了。这里咱们要说的是,存在项目依赖library项目的情况下productFlavors的使用。、

 

此处例子中,moduleA依赖了module library

首先,打开library的build gradle,添加如下内容

    publishNonDefault true
    productFlavors {
        dev{
            。。。
        }

        uat{
            。。。
        }
    }

publishNonDefault true这句话必须加,作用是:Lib编译时,不使用默认的选项,也就是可以指定productFlavors中的选项来编译。

在productFlavors中添加渠道和自己要做的处理。

然后,打开module A的build gradle,

这里也是需要添加productFlavors的

    productFlavors{
        dev{
        }
        uat{
        }
    }

在最外层添加

configurations {
    devCompile
    uatCompile
}

之前引入library module的地方

compile project(':library')

修改为

    devCompile project(path: ":library", configuration: 'devDebug')
    uatCompile project(path: ":library", configuration: 'uatDebug')

这里devCompile是从configuration中来的,后续的configuration是根据library里边productFlavors中的渠道名字来的。

 

以上。

 

你可能感兴趣的:(分享)