Gradle配置多渠道打包

项目开发的过程都会有打包的需求,如果项目规模不大,对渠道的要求不高可以只打一个release包,然后上传到所有应用市场就行了。但是如果有一些特殊需求,比如做ASO优化,应用数据分析等等就需要打包上传应用市场的时候对渠道进行划分。

今天就简单介绍一下在AS中如果通过gradle来进行渠道划分。整体步骤分为三步

1 在app的build.gradle中添加productFlavors节点,注意节点的位置。并且这个配置需要区分as3.0以下和3.0以上,我们先看一下as3.0以下的配置。

比如要配置小米的渠道包,需要在app的build.gradle文件的android节点中添加一下配置

 productFlavors{
        xiaomi{
            dimension "xiaomi"//描述
            manifestPlaceholders=[cid:'xiaomi']//渠道号
        }
    }

在as3.0以下这样配置是没有问题的,但是在3.0或者以上就会报以下错误

ERROR: All flavors must now belong to a named flavor dimension. Learn more at https://d.android.com/r/tools/flavorDimensions-missing-error-message.html

大概意思是说,所有flavor的dimension需要保持统一。gradle提供了flavorDimensions字段使得全局保持一个dimension。具体的用法是在defaultConfig节点中增加flavorDimensions字段

 minSdkVersion 23
        targetSdkVersion 29
        versionCode 1
        versionName "1.0"
        testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
        flavorDimensions "default"

然后渠道配置中的dimension值需要和flavorDimensions保持一致。

2 配置完成productFlavors之后还需要在清单文件中配置mate-data,供后续在代码获取渠道号时使用。

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

3 完成步骤1、2之后就可以在打包时选择相应的渠道包了,至于上文提到的代码获取渠道包,会在下一篇文章中给出代码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值