android gradle 批量渠道打包


如果不熟悉想熟悉gradle的推荐“gradle插件用户指引中文版”

批量打包很重要的就是一个属性

productFlavors

在productFlavor里可以配置你的渠道如下:

 productFlavors{
    baidu{
        manifestPlaceholders = [channel : 10094];
    }
    xiaomi{
        manifestPlaceholders = [channel : 10000];
    }

}

这里的manifestPlaceholders属性 是在manifest文件里配置的meta-data

<meta-data android:name="channel"
        android:value="${channel}"></meta-data>

上面的channel就是渠道name value就是渠道号 支持中文

同样的 部分特殊包需要不同的application id 也就是报名不同 也可以这样

productFlavors{
    baidu{
        setApplicationId("com.wedcel.application.baidu");
        manifestPlaceholders = [channel : 10094];
    }
}

这样就可以动态生成不同ID和不同渠道号的包

一句话gradle aR 命令 就可以