Android渠道打包最佳實(shí)踐(以友盟為例)

渠道包是每一個(gè)Android產(chǎn)品面臨的問題噪生,國(guó)內(nèi)幾乎每個(gè)手機(jī)廠商都有自己的安卓市場(chǎng)忧侧,導(dǎo)致需要的渠道包非常多博其,很多app的渠道都達(dá)到了喪心病狂的幾百個(gè)尝盼,每次打渠道包都是一個(gè)痛苦的過程。

多渠道打包方案

目前調(diào)研的結(jié)果基本有四種打包的方案:

1. 配置gradle腳本實(shí)現(xiàn)多渠道打包

核心原理就是通過腳本修改androidManifest.xml中的mate-date內(nèi)容漠趁,執(zhí)行N次打包簽名操作實(shí)現(xiàn)多渠道打包的需求扁凛。

這種方式缺點(diǎn)非常明顯,大部分情況下打渠道包只是為了修改一個(gè)渠道號(hào)闯传,這種方式完全是殺雞用牛刀谨朝,非常耗費(fèi)時(shí)間。而且很多時(shí)候是要混淆代碼的甥绿,如果多次打包就會(huì)生成多個(gè)mapping文件字币,在進(jìn)行錯(cuò)誤信息的查看時(shí),不同渠道使用不同的mapping文件共缕,想想就酸爽洗出。

2. 使用apktool工具反編譯二次打包

核心原理是使用apktoo了工具反編譯apk,然后修改渠道號(hào)图谷,重新打包簽名翩活。

這種方式相比第一種提高了速度,基本上一分鐘可以20m的apk可以完成3個(gè)左右便贵。應(yīng)付100個(gè)以內(nèi)的渠道還是可以的菠镇。

缺點(diǎn)是浪費(fèi)了很多時(shí)間在反編譯、二次打包承璃、簽名上辟犀。

3. 美團(tuán)多渠道打包方式

apk文件實(shí)質(zhì)是一個(gè)zip文件,解壓后可以發(fā)現(xiàn)里邊有一個(gè)META-INF目錄绸硕,如果在META-INF目錄內(nèi)添加空文件,可以不用重新簽名應(yīng)用魂毁。美團(tuán)利用這個(gè)方式創(chuàng)建空文件夾來表示渠道玻佩。具體原理見:美團(tuán)Android自動(dòng)化之旅—生成渠道包

美團(tuán)的打包方式非常快速席楚,打渠道包幾乎就只是進(jìn)行一次copy apk文件咬崔。

4. 修改Zip文件comment

核心原理是利用的Zip文件“可以添加comment(摘要)”的數(shù)據(jù)結(jié)構(gòu)特點(diǎn),在文件的末尾寫入任意數(shù)據(jù),而不用重新解壓zip文件垮斯。github:MultiChannelPackageTool

這種打包方式對(duì)特點(diǎn)也是比較快速郎仆,可以對(duì)渠道號(hào)進(jìn)行加密,另外github上已經(jīng)有了很完整的工具兜蠕,使用很方便扰肌。

最佳實(shí)踐

調(diào)研過后,決定采用第四種方式熊杨,可以對(duì)渠道號(hào)就行加密曙旭,使用也比較方便。

使用友盟進(jìn)行渠道管理基本涉及到三步:渠道號(hào)寫入apk文件晶府,代碼中讀取渠道號(hào)桂躏,根據(jù)渠道號(hào)對(duì)友盟進(jìn)行設(shè)置。

具體步驟如下:

1. 在apk中寫入渠道號(hào)

這一步利用工具很容易實(shí)現(xiàn)

實(shí)際使用中把渠道號(hào)寫入一個(gè)數(shù)組川陆,然后循環(huán)執(zhí)行渠道號(hào)寫入命令

2. 代碼中讀取渠道號(hào)

使用MCPTool.java中的方法:

MCPTool.getChannelId(context, mcptoolPassword, defValue)

3. 設(shè)置友盟渠道號(hào)

代碼中配置渠道號(hào):

UMAnalyticsConfig(Context context,Stringappkey,StringchannelId)

MobclickAgent. startWithConfigure(UMAnalyticsConfig config)

最好在app的application中調(diào)用此方法剂习,盡早進(jìn)行渠道號(hào)的設(shè)置。

驗(yàn)證

利用友盟后臺(tái)進(jìn)行渠道號(hào)的驗(yàn)證较沪,這里有一個(gè)坑就是:

from:http://dev.umeng.com/analytics/android-doc/integration?spm=0.0.0.0.ptu9Z6

也就是說一個(gè)手機(jī)只有一次驗(yàn)證渠道的機(jī)會(huì)鳞绕。

技巧:可以在友盟上多申請(qǐng)幾個(gè)key,驗(yàn)證一次換一個(gè)key购对,如果只有一個(gè)測(cè)試手機(jī)時(shí)可以試試猾昆,比較耗費(fèi)時(shí)間。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末骡苞,一起剝皮案震驚了整個(gè)濱河市垂蜗,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌解幽,老刑警劉巖贴见,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異躲株,居然都是意外死亡片部,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門霜定,熙熙樓的掌柜王于貴愁眉苦臉地迎上來档悠,“玉大人,你說我怎么就攤上這事望浩∠剿” “怎么了?”我有些...
    開封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵磨德,是天一觀的道長(zhǎng)缘回。 經(jīng)常有香客問我吆视,道長(zhǎng),這世上最難降的妖魔是什么酥宴? 我笑而不...
    開封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任啦吧,我火速辦了婚禮,結(jié)果婚禮上拙寡,老公的妹妹穿的比我還像新娘授滓。我一直安慰自己,他們只是感情好倒庵,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開白布褒墨。 她就那樣靜靜地躺著,像睡著了一般擎宝。 火紅的嫁衣襯著肌膚如雪郁妈。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天绍申,我揣著相機(jī)與錄音噩咪,去河邊找鬼。 笑死极阅,一個(gè)胖子當(dāng)著我的面吹牛胃碾,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播筋搏,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼仆百,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了奔脐?” 一聲冷哼從身側(cè)響起俄周,我...
    開封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎髓迎,沒想到半個(gè)月后峦朗,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡排龄,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年波势,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片橄维。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡尺铣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出争舞,到底是詐尸還是另有隱情迄埃,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布兑障,位于F島的核電站,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏流译。R本人自食惡果不足惜逞怨,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望福澡。 院中可真熱鬧叠赦,春花似錦、人聲如沸革砸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽算利。三九已至册踩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間效拭,已是汗流浹背暂吉。 一陣腳步聲響...
    開封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留缎患,地道東北人慕的。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像挤渔,于是被迫代替她去往敵國(guó)和親肮街。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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

  • 目錄一判导、Python打包及優(yōu)化(美團(tuán)多渠道打包)二嫉父、Gradle打包三、其他打包方案:修改Zip文件的commen...
    守望君閱讀 5,688評(píng)論 4 17
  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,077評(píng)論 25 707
  • 轉(zhuǎn)載請(qǐng)注明出處骡楼,感謝您的支持熔号。同時(shí),歡迎加入移動(dòng)開發(fā)學(xué)習(xí)交流qq群 : 450302004鸟整,互相學(xué)習(xí)引镊。文章來源:【...
    chenyk閱讀 1,865評(píng)論 1 31
  • Android市場(chǎng)的渠道分散已不是什么新鮮事,但如何高效打包仍是令許多開發(fā)者頭疼的問題篮条。本篇文章著重介紹了目前最新...
    _曾胖子閱讀 1,924評(píng)論 1 10
  • 在寫總結(jié)的時(shí)刻呢弟头,我會(huì)有回顧時(shí)間軸的習(xí)慣;回顧時(shí)間軸的方法一般就是在AHA路透社的朋友圈里“翻尸”涉茧,企圖尋找開始節(jié)...
    小直閱讀 1,223評(píng)論 0 52