說到多渠道,這里不得不提一下友盟統計,友盟統計是大家日常開發中常用的渠道統計工具,而我們的打包方法就是基于友盟統計實施的。按照友盟官方文檔說明,渠道信息通常需要在AndroidManifest.xml中配置如下值:
<meta-data android:value="Channel ID" android:name="UMENG_CHANNEL"/>
上面的value值Channel_ID就是渠道標識。我們的期望的就是在編譯時候這個值能夠自動變化以滿足區分多渠道的需求。
(一)在AndroidManifest.xml里設置動態渠道變量
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />(二)在build.gradle設置productFlavors
這里假定我們需要打包的渠道為酷安市場、360、小米、百度、豌豆莢
android { productFlavors { kuan { manifestPlaceholders = [UMENG_CHANNEL_VALUE: "kuan"] } 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 { kuan {} xiaomi {} qh360 {} baidu {} wandoujia {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] }}所謂ProductFlavors其實就是可定義的產品特性,配合 manifest merger 使用的時候就可以達成在一次編譯過程中產生多個具有自己特性配置的版本。上面這個配置的作用就是,為每個渠道包產生不同的 UMENG_CHANNEL_VALUE 的值。
(三)執行打包操作
在AndroidStudio菜單欄點擊Build菜單 主站蜘蛛池模板: 政和县| 二连浩特市| 资源县| 新宁县| 修武县| 桐柏县| 城步| 扎囊县| 天祝| 上蔡县| 伊春市| 隆安县| 潞城市| 三原县| 盈江县| 蕲春县| 潼南县| 德格县| 玉门市| 大化| 科技| 高阳县| 晋城| 中超| 东乌珠穆沁旗| 眉山市| 珠海市| 剑河县| 西盟| 宣威市| 河曲县| 邵阳县| 富平县| 河北区| 聂拉木县| 沽源县| 渑池县| 莱阳市| 阳谷县| 治多县| 石阡县|