Android Studio使用Gradle进行多渠道打包

使用Android Studio也有一段时间了,最近项目开发完成,内部测试也已经通过。下一步就是渠道打包,然后上线了。

在出渠道包的时候,若是出一个包,便手动修改一次渠道号,很显然是很费时费力的。庆幸的是,Android Studio采用的Gradle可以很方便的实现我们的多渠道出包。

下面结合代码进行说明。


项目中使用的是友盟,在AndroidManifest.xml中有这样的代码:

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

其中${UMENG_CHANNEL_VALUE}中的值就是在gradle中自定义配置的值。

然后在项目的build.gradle中利用productFlavors进行多渠道的配置,在android节点下添加如下代码:

productFlavors {
        official {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "official"]
        }
        baidu {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"]
        }
        _360 {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "_360"]
        }
        samsung {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "samsung"]
        }
        huawei {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "huawei"]
        }
        lenovo {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: "lenovo"]
        }
    }

项目实际情况,便是上线百度、360、三星、华为、联想这5个市场。

至此,所有的配置已经完成。下面开始编译出包了。

在Android Studio中打开Terminal:

这里写图片描述

输入指令gradlew assembleRelease便可以生成所有的渠道包了。但是此次命令中使用的gradle版本无法控制,很有可能会去下其他的gradle版本,gradle的下载需要翻墙,若是没翻则会一直下载,耽误时间。

这里写图片描述

这里我们直接ctrl+c,再输入y,终止操作。使用下面的方法。

先找到gralde的根目录,在系统变量里添加两个环境变量:

变量名为GRADLE_HOME,变量值就为gradle的根目录。在我的环境里,使用的gradle 2.2.1的版本,目录是C:\Users\*****\.gradle\wrapper\dists\gradle-2.2.1-all\c64ydeuardnfqctvr1gm30w53\gradle-2.2.1

然后在系统变量path里面添加gradle的bin目录%GRADLE_HOME%\bin

这里配置完成了,接着在Terminal中敲下gradle assembleRelease就可以一次性生成所有的渠道包了。

这里写图片描述

build成功后,便可生成所有渠道的渠道包了。

这里写图片描述

若是想单独生成某一个渠道包,先打开Android Studio右侧的Gradle栏:

这里写图片描述

点到相应项目的build task中。

这里写图片描述

要生成什么渠道包,双击相应的栏目即可。


改进:将productFlavors改成如下,更加简洁些:

productFlavors {
        "official" {}
        "baidu" {}
        "_360" {}
        "samsung" {}
        "huawei" {}
        "lenovo" {}
    }

    productFlavors.all {
        flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name]
    }
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值