Android —— 多渠道打包方式

###多渠道打包概念

>* 發(fā)布到不同渠道上的apk,標(biāo)記不同的渠道,目的是為了統(tǒng)計該渠道的下載量,留存率等等數(shù)據(jù)

>* 了解下載量

>* 針對性的打廣告

###渠道統(tǒng)計的核心

1 為apk打標(biāo)記(渠道的標(biāo)識)

2 運行apk的時候取出標(biāo)記

3 上傳標(biāo)記給服務(wù)器統(tǒng)計

###友盟渠道統(tǒng)計的實現(xiàn)

1. 打標(biāo)記:在清單文件中的meta-data結(jié)點下配置渠道

2. 運行apk的時候,友盟的api,會取出meta-data的渠道信息

3. 上傳渠道標(biāo)記到友盟自己的服務(wù)器,用戶就可以通過友盟的后臺查看具體的渠道統(tǒng)計了

###多渠道打包的方式

0. 一個一個分別導(dǎo)出

1. ant:要求比較高,需要懂得如何編寫ant腳本,但是編寫好之后,執(zhí)行一個命令就可以

2. 友盟的打包工具

3. Gradle 多渠道打包 ,比較新,使用比較簡單

4. 快速打包

###如何選擇

1. 如果只是修改`渠道名`可以考慮用`umeng打包工具`或者`gradle多渠道打包`,其實絕大數(shù)公司情況屬于此種情況;

2. 打包過程需要`定制化的配置`,可以考慮用ant或者gradle定制打包,可以參考`http://tech.meituan.com/mt-apk-adaptation.html`,說明的情況.

1.自定義包名

2.自定義簽名

###umeng打包工具

####下載地址

`https://github.com/umeng/umeng-muti-channel-build-tool`

####步驟

看具體視頻

###gradle多渠道打包

####1. 在AndroidManifest.xml中定義占位符

####2. 在module的gradle腳本中替換占位符

productFlavors {

wangdoujia {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "wangdoujia"]

}

xiaomi {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "xiaomi"]

}

anzhi {

manifestPlaceholders = [UMENG_CHANNEL_VALUE: "anzhi"]

}

}

productFlavors {

Wandoujia {}

_360 {}

baidu {}

xiaomi {}

tencent {}

taobao {}

...........

}

productFlavors.all {

flavor -> flavor.manifestPlaceholders= [UMENG_CHANNEL_VALUE:name]

}

###快速打包(1分鐘打900個渠道包,不是夢)

####參考網(wǎng)址:

http://www.open-open.com/lib/view/open1418262988402.html

http://m.blog.csdn.net/blog/u013651247/42426227

####準(zhǔn)備

下載python: https://www.python.org

下載別人寫好的腳本:? https://github.com/GavinCT/AndroidMultiChannelBuildTool

####步驟

1. 安裝Python

2. `..PythonTool\info\channel.txt`,里面去添加自己想要的渠道

3. 放置apk到`MultiChannelBuildTool.py`所在目錄

4. 雙擊`MultiChannelBuildTool.py`執(zhí)行腳本,完成多渠道打包;

5. 拷貝`ChannelUtil.java`到項目中

6. 代碼設(shè)置渠道`AnalyticsConfig.setChannel(ChannelUtil.getChannel(this));`

###新一代Android渠道打包工具:1000個渠道包只需要5秒

>* 參考:http://www.open-open.com/lib/view/open1453684213136.html(新一代Android渠道打包工具:1000個渠道包只需要5秒)

####步驟

1.修改項目根目錄的 build.gradle

buildscript {

......

dependencies{

// add packer-ng

classpath 'com.mcxiaoke.gradle:packer-ng:1.0.4'

}

}

2.修改Android模塊的 build.gradle

apply plugin: 'packer'

dependencies {

// add packer-helper

compile 'com.mcxiaoke.gradle:packer-helper:1.0.4'

}

3.Java代碼中獲取當(dāng)前渠道(在應(yīng)用程序啟動的時候),在Application子類中的onCreate()方法中

public class MyApplication extends Application {

@Override

public void onCreate() {//程序的入口方法

....

// 如果沒有使用PackerNg打包添加渠道,默認(rèn)返回的是""

// com.mcxiaoke.packer.helper.PackerNg

final String market = PackerNg.getMarket(this);

// 或者使用 PackerNg.getMarket(Context,defaultValue)

// 之后就可以使用了蹲蒲,比如友盟可以這樣設(shè)置

AnalyticsConfig.setChannel(market);

....

}

}

4.添加打包的簽名,可以通過圖形界面添加

signingConfigs {

//add

releaseConfig {

keyAlias 'itheima'

keyPassword 'itheima'

storeFile file('C:/itheima.jks')

storePassword 'itheima'

}

}

buildTypes {

release {

minifyEnabled false

proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'

//add

signingConfig? signingConfigs.releaseConfig

}

}

5.創(chuàng)建markets.txt放到根目錄,#號后面是注釋,可有可無

Google_Play#play store market

Gradle_Test#test

SomeMarket#some market

HelloWorld

6. 通過命令進行打包

gradle -Pmarket=markets.txt clean apkRelease

7.效果

![](img/tu3.png)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末伏尼,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子东抹,更是在濱河造成了極大的恐慌,老刑警劉巖沃测,帶你破解...
    沈念sama閱讀 221,888評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件缭黔,死亡現(xiàn)場離奇詭異,居然都是意外死亡蒂破,警方通過查閱死者的電腦和手機馏谨,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,677評論 3 399
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來附迷,“玉大人惧互,你說我怎么就攤上這事哎媚。” “怎么了壹哺?”我有些...
    開封第一講書人閱讀 168,386評論 0 360
  • 文/不壞的土叔 我叫張陵抄伍,是天一觀的道長。 經(jīng)常有香客問我管宵,道長截珍,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,726評論 1 297
  • 正文 為了忘掉前任箩朴,我火速辦了婚禮岗喉,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘炸庞。我一直安慰自己钱床,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 68,729評論 6 397
  • 文/花漫 我一把揭開白布埠居。 她就那樣靜靜地躺著查牌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪滥壕。 梳的紋絲不亂的頭發(fā)上纸颜,一...
    開封第一講書人閱讀 52,337評論 1 310
  • 那天,我揣著相機與錄音绎橘,去河邊找鬼胁孙。 笑死,一個胖子當(dāng)著我的面吹牛称鳞,可吹牛的內(nèi)容都是我干的涮较。 我是一名探鬼主播,決...
    沈念sama閱讀 40,902評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼冈止,長吁一口氣:“原來是場噩夢啊……” “哼狂票!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起熙暴,我...
    開封第一講書人閱讀 39,807評論 0 276
  • 序言:老撾萬榮一對情侶失蹤苫亦,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后怨咪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,349評論 1 318
  • 正文 獨居荒郊野嶺守林人離奇死亡润匙,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 38,439評論 3 340
  • 正文 我和宋清朗相戀三年诗眨,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片孕讳。...
    茶點故事閱讀 40,567評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡匠楚,死狀恐怖巍膘,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情芋簿,我是刑警寧澤峡懈,帶...
    沈念sama閱讀 36,242評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站肪康,受9級特大地震影響撩穿,放射性物質(zhì)發(fā)生泄漏雾狈。R本人自食惡果不足惜善榛,卻給世界環(huán)境...
    茶點故事閱讀 41,933評論 3 334
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望味滞。 院中可真熱鬧剑鞍,春花似錦蚁署、人聲如沸光戈。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,420評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽烂琴。三九已至奸绷,卻和暖如春号醉,著一層夾襖步出監(jiān)牢的瞬間惰帽,已是汗流浹背该酗。 一陣腳步聲響...
    開封第一講書人閱讀 33,531評論 1 272
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留爵嗅,地道東北人。 一個月前我還...
    沈念sama閱讀 48,995評論 3 377
  • 正文 我出身青樓,卻偏偏與公主長得像锉试,于是被迫代替她去往敵國和親呆盖。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 45,585評論 2 359

推薦閱讀更多精彩內(nèi)容