說到多渠道,這里不得不提一下友盟統(tǒng)計(jì),友盟統(tǒng)計(jì)是大家日常開發(fā)中常用的渠道統(tǒng)計(jì)工具,而我們的打包方法就是基于友盟統(tǒng)計(jì)實(shí)施的。按照友盟官方文檔說明,渠道信息通常需要在AndroidManifest.xml中配置如下值:
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
上面的value值Channel_ID就是渠道標(biāo)識。我們的期望的就是在編譯時(shí)候這個(gè)值能夠自動變化以滿足區(qū)分多渠道的需求。
(一)在AndroidManifest.xml里設(shè)置動態(tài)渠道變量
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />(二)在build.gradle設(shè)置productFlavors
這里假定我們需要打包的渠道為360、小米、百度、豌豆莢
android { productFlavors { xiaomi { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"] } qh360 { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "qh360"] } baidu { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "baidu"] } wandoujia { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wandoujia"] } } }或者批量修改
android { productFlavors { xiaomi {} qh360 {} baidu {} wandoujia {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] }}所謂ProductFlavors其實(shí)就是可定義的產(chǎn)品特性,配合 manifest merger 使用的時(shí)候就可以達(dá)成在一次編譯過程中產(chǎn)生多個(gè)具有自己特性配置的版本。上面這個(gè)配置的作用就是,為每個(gè)渠道包產(chǎn)生不同的 UMENG_CHANNEL_VALUE 的值。
(三)執(zhí)行打包操作
在AndroidStudio菜單欄點(diǎn)擊Build菜單 主站蜘蛛池模板: 永平县| 通海县| 黄浦区| 湖州市| 于田县| 海宁市| 肇东市| 苏州市| 湘潭县| 济阳县| 高安市| 广汉市| 开平市| 成武县| 安义县| 永安市| 青河县| 淮阳县| 南皮县| 桃江县| 墨竹工卡县| 吕梁市| 河池市| 宁河县| 河南省| 耒阳市| 徐闻县| 东方市| 云阳县| 永德县| 连南| 黄浦区| 宣城市| 石台县| 泗水县| 辽源市| 明光市| 玛多县| 庄浪县| 吴川市| 彩票|