Android Studio使用教程(六):Gradle多渠道打包

前端技术 2023/09/06 Android

由于国内Android市场众多渠道,为了统计每个渠道的下载及其它数据统计,就需要我们针对每个渠道单独打包,如果让你打几十个市场的包岂不烦死了,不过有了Gradle,这再也不是事了。

友盟多渠道打包

废话不多说,以友盟统计为例,在AndroidManifest.xml里面会有这么一段:

复制代码 代码如下:

<meta-data
    android:name=\"UMENG_CHANNEL\"
    android:value=\"Channel_ID\" />

里面的Channel_ID就是渠道标示。我们的目标就是在编译的时候这个值能够自动变化。

第一步 在AndroidManifest.xml里配置PlaceHolder

复制代码 代码如下:

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

第二步 在build.gradle设置productFlavors
复制代码 代码如下:

android { 
    productFlavors {
        xiaomi {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: \"xiaomi\"]
        }
        _360 {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: \"_360\"]
        }
        baidu {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: \"baidu\"]
        }
        wandoujia {
            manifestPlaceholders = [UMENG_CHANNEL_VALUE: \"wandoujia\"]
        }
    } 
}

或者批量修改
复制代码 代码如下:

android { 
    productFlavors {
        xiaomi {}
        _360 {}
        baidu {}
        wandoujia {}
    } 

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

本文地址:https://www.stayed.cn/item/16731

转载请注明出处。

本站部分内容来源于网络,如侵犯到您的权益,请 联系我

我的博客

人生若只如初见,何事秋风悲画扇。