APK瘦身神器:Android App Bundles允瞧,讓應(yīng)用體積減少25%

????大部分在應(yīng)用商店上架過App或者進(jìn)行過縮包優(yōu)化的開發(fā)者可能都知道简软,在Android平臺上,APK瘦身方面的優(yōu)化手段其實(shí)不多述暂,無非壓縮資源痹升、刪除無用資源、代碼混淆畦韭、在線資源庫疼蛾、微信壓縮打包工具、插件化等艺配,充其量只是一些裁裁剪剪察郁,并沒有從根本上解決安裝包過大的問題。

? ? 但Google I/O 2018之后转唉,這個問題可能不會再困擾開發(fā)者了皮钠,因?yàn)镚oogle官方推出了一套堪稱神器(事實(shí)上谷歌官方稱它為artifact,就是“神器”)的編譯赠法、發(fā)布APK機(jī)制:Android App Bundles麦轰,直譯為“應(yīng)用束”。

? ? 事實(shí)上期虾,一開始接觸到App Bundles 這種機(jī)制原朝,聽到官方人員“夸夸其談”的介紹(Youtube有介紹視頻),尤其是了解到它存在的限制镶苞,比如需要加入谷歌的測試計(jì)劃喳坠,版本限制(5.0以上),需要在谷歌商店的Play Console(應(yīng)用控制臺)注冊自己的App茂蚓,只能通過Google Play發(fā)布等壕鹉,我是很嫌棄的,因?yàn)楣雀璨⒉皇菦]有這種雷聲大雨點(diǎn)小的先例聋涨。

????然而當(dāng)我真的深入了解了Android App Bundles 和它的配套發(fā)布機(jī)制:Dynamic Delivery(動態(tài)交付)晾浴,還是要說一聲“谷歌爸爸真厲害”。

????其實(shí)上面的限制在長期來看并不是問題牍白,首先脊凰,5.0以上的Android app,支持App Bundles 和Dynamic Delivery,應(yīng)用體積大大減少狸涌,而對于5.0以下的版本切省,Google也有相應(yīng)的減少體積的方法,只是效果沒有那么明顯帕胆。其次朝捆,對于針對國內(nèi)市場的開發(fā)者而言,以中國如此蓬勃的Android生態(tài)來看芙盘,恐怕不久各大應(yīng)用商店會有類似的機(jī)制出現(xiàn)脸秽,因此提前了解好處大大滴有儒老。

谷歌爸爸我錯了

????Android App Bundles

? ? Android App Bundle是一種新的應(yīng)用編譯记餐、上傳贷盲、發(fā)布形式,它包括了開發(fā)者應(yīng)用中所有編譯過的代碼剥扣、資源(例如圖片铝穷、語言、字符串資源等)曙聂、屏幕大小晦炊、硬件架構(gòu)等等。使用此種格式發(fā)布的應(yīng)用宁脊,用戶在應(yīng)用商店看到的包的大小精簡到極致断国。App Bundle需要配合Dynamic Delivery(動態(tài)交付)一起使用榆苞,原理在下文一起介紹。


新的發(fā)布機(jī)制

? ? Dynamic Delivery

? ? 動態(tài)交付坐漏,是Google Play提供的新的app服務(wù)模塊,配合App Bundle使用街夭,可以針對不同用戶的設(shè)備生成并提供優(yōu)化過的APK躏筏。從而用戶可以僅僅下載他們運(yùn)行此App需要用到的代碼和資源板丽。開發(fā)者不再需要針對多種設(shè)備去編譯趁尼,簽名猖辫,管理不同的APK(Multi-APK機(jī)制)乃正,用戶可以下載體積更小的,優(yōu)化過的APK荧飞。

? ? 比如,一個英語國家叹阔,谷歌手機(jī)Pixel 2L的使用者传睹,僅僅需要下載基礎(chǔ)代碼,xxxhdpi的資源欧啤,en的語言包,arm64硬件架構(gòu)等店印,而不再需要其他不必要資源倒慧。

????普通的apk發(fā)布流程:


普通的apk我普通地發(fā)

????使用App Bundle + Dynamic Delivery的應(yīng)用發(fā)布流程:


小小的apk


動態(tài)交付

????動態(tài)交付的功能不僅限于此纫谅。開發(fā)者可以為應(yīng)用的工程添加動態(tài)功能模塊炫贤,包含在App Bundle中付秕。這些模塊包含了用戶首次下載安裝應(yīng)用不需要用到的功能和資源。在集成了 Play Core Library 的SDK后俩垃,我們可以在之后請求用戶去安裝這些動態(tài)功能模塊汰寓。通過動態(tài)交付,Google Play僅僅只會提供針對這臺設(shè)備所需要的代碼和資源(某種語言有滑,某種分辨率的資源,對應(yīng)的ABI)望艺。

? ??對于使用Android Studio開發(fā)的App苛秕,大多數(shù)工程很輕松就可以支持動態(tài)交付并建立App Bundle應(yīng)用束找默。但動態(tài)功能模塊還在測試中,支持這個功能可能需要對應(yīng)用進(jìn)行重構(gòu)店煞。

? ? 篇幅所限风钻,本文章僅介紹了應(yīng)用束和動態(tài)交付的機(jī)制和原理,假如有比較多的朋友關(guān)注和喜歡這項(xiàng)技術(shù)骡技,我將在之后的文章繼續(xù)分析它的實(shí)現(xiàn)方式、兼容性問題和翻譯相關(guān)文檔等囤萤。

? ? 也可以在以下鏈接了解更多:

? ??谷歌Android開發(fā)者

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末是趴,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子右遭,更是在濱河造成了極大的恐慌缤削,老刑警劉巖,帶你破解...
    沈念sama閱讀 222,104評論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件滚婉,死亡現(xiàn)場離奇詭異帅刀,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)扣溺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,816評論 3 399
  • 文/潘曉璐 我一進(jìn)店門锥余,熙熙樓的掌柜王于貴愁眉苦臉地迎上來腹纳,“玉大人,你說我怎么就攤上這事足画〉枧#” “怎么了?”我有些...
    開封第一講書人閱讀 168,697評論 0 360
  • 文/不壞的土叔 我叫張陵象缀,是天一觀的道長。 經(jīng)常有香客問我攻冷,道長遍希,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 59,836評論 1 298
  • 正文 為了忘掉前任凿蒜,我火速辦了婚禮,結(jié)果婚禮上州泊,老公的妹妹穿的比我還像新娘漂洋。我一直安慰自己,他們只是感情好刽漂,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,851評論 6 397
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著样悟,像睡著了一般庭猩。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蔼水,一...
    開封第一講書人閱讀 52,441評論 1 310
  • 那天,我揣著相機(jī)與錄音试伙,去河邊找鬼。 笑死疏叨,一個胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的蚤蔓。 我是一名探鬼主播,決...
    沈念sama閱讀 40,992評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼单寂,長吁一口氣:“原來是場噩夢啊……” “哼吐辙!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起昏苏,我...
    開封第一講書人閱讀 39,899評論 0 276
  • 序言:老撾萬榮一對情侶失蹤庆锦,失蹤者是張志新(化名)和其女友劉穎辖佣,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體榨崩,經(jīng)...
    沈念sama閱讀 46,457評論 1 318
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡颈墅,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,529評論 3 341
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了帽哑。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片叹俏。...
    茶點(diǎn)故事閱讀 40,664評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡僻族,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出述么,到底是詐尸還是另有隱情,我是刑警寧澤度秘,帶...
    沈念sama閱讀 36,346評論 5 350
  • 正文 年R本政府宣布,位于F島的核電站唆貌,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏锨咙。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 42,025評論 3 334
  • 文/蒙蒙 一粹舵、第九天 我趴在偏房一處隱蔽的房頂上張望骂倘。 院中可真熱鬧,春花似錦历涝、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,511評論 0 24
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔫仙。三九已至丐箩,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間屎勘,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,611評論 1 272
  • 我被黑心中介騙來泰國打工丑慎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留瓤摧,地道東北人。 一個月前我還...
    沈念sama閱讀 49,081評論 3 377
  • 正文 我出身青樓腻异,卻偏偏與公主長得像,于是被迫代替她去往敵國和親悔常。 傳聞我的和親對象是個殘疾皇子影斑,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,675評論 2 359

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