android studio中使用gradle多渠道打包

尝试了用android studio中使用gradle打多渠道的程序包,果然如传说中那样神奇。本文中部分是参考Google上的内容,权当学习记录在这里吧


1、配置好AndroidManifest.xml中的渠道信息,这里以友盟统计为例吧

在<application>  ...  </application>节点中增加:
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}"></meta-data>


注意这里,以往value中填写的就是渠道的名字,比如豌豆荚就可以填写wandoujia,但是在这里用${UMENG_CHANNEL_VALUE}替代,可以理解为一个变量,下面会用到的;

2、在对应打包程序的module中的build.gradle:
技术分享

技术分享
里面做如下修改:
在android{ ... }里面新增:
productFlavors{
        wandoujia{}
        qihu360{}
        baidu{}
        xiaomi{}
        uc{}

        productFlavors.all{
            flavor->flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
        }
    }



其中的wandoujia{}、qihu360{} ... ...这些就是需要的渠道名字,而这里的UMENG_CHANNEL_VALUE就是对于我们在AndroidManifest.xml中配置渠道信息的那个value,加好这些东西之后就构建一下项目:
技术分享
技术分享
成功后就下一步;

3、配置好gradle的环境变量,将gradle中的bin文件路径加入到path中;

4、那接下来如何签名打包呢?
选择Build->Generate Signed APK...
技术分享
技术分享
然后填写好签名密码之类的,然后可以看到这个:
技术分享
技术分享
全选Flavors那些选项,然后就finish。ok啦,在module的目录下就可以看到签完名的apk们,如图:
技术分享
技术分享

郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。