一、爲何要進行多渠道打包?
安卓應用商店(一個商店也叫作一個渠道,如360,baidu,xiaomi)衆多,大大小小几百個,咱們發佈應用以後須要統計各個渠道的用戶下載量,因此纔有了多渠道打包。android
二、怎麼樣統計各個渠道的下載量呢?
如今有比較成熟的第三方應用幫咱們實現統計功能(好比友盟),統計的本質就是收集用戶信息傳輸到後臺,後臺生成報表,幫助咱們跟蹤分析並完善app。經過系統的方法已經能夠獲取到,版本號,版本名稱,系統版本,機型,地區等各類信息,惟獨應用商店(渠道)的信息咱們是沒有辦法從系統獲取到的,因此咱們就人爲的在apk裏面添加渠道信息(其實就用一個字段進行標識,如360,baidu),咱們只要把這些信息打包到apk文件並將信息傳輸到後臺,後臺根據這個標識,能夠統計各個渠道的下載量了,並無多麼的高大上。app
說了那麼多,其實多渠道打包只須要關注兩件事情:
①、將渠道信息寫入apk文件
②、將apk中的渠道信息傳輸到統計後臺工具
三、利用android studio多渠道打包
友盟統計是你們平常開發中經常使用的渠道統計工具,而咱們的打包方法就是基於友盟統計實施的。gradle
(一)在AndroidManifest.xml裏設置動態渠道變量ui
<meta-data android:name="UMENG_CHANNEL" android:value="${UMENG_CHANNEL_VALUE}" />
(二)在build.gradle設置productFlavorsspa
android { productFlavors { kuan {} xiaomi {} qh360 {} baidu {} wandoujia {} } productFlavors.all { flavor -> flavor.manifestPlaceholders = [UMENG_CHANNEL_VALUE: name] } }
(三)執行打包操做
在AndroidStudio菜單欄點擊Build菜單–>Generate signed APK–>選擇key,並輸入密碼.net
而後下一步,選擇打包渠道code
最後點擊完成按鈕xml
注:固然也可用Terminal命令打包,詳見文章參考2。blog
參考
一、美團多渠道打包方案初體驗(http://www.jianshu.com/p/76ab...)
二、手把手教你AndroidStudio多渠道打包(http://blog.csdn.net/mynameis...)