黑马程序员技术交流社区

标题: android studio中使用gradle多渠道打包 [打印本页]

作者: linxy06    时间: 2015-11-26 18:41
标题: android studio中使用gradle多渠道打包
尝试了用android studio中使用gradle打多渠道的程序包,果然如传说中那样神奇。本文中部分是参考Google上的内容,权当学习记录在这里吧



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

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


注意这里,以往value中填写的就是渠道的名字,比如豌豆荚就可以填写wandoujia,但是在这里用${UMENG_CHANNEL_VALUE}替代,可以理解为一个变量,下面会用到的;
2、在对应打包程序的module中的build.gradle:

  里面做如下修改: 在android{ ... }里面新增:
?
1
2
3
4
5
6
7
8
9
10
11
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们,如图:





欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2