快速了解Android App Bundle

1. 簡介

Android App Bundle是一種發(fā)布格式驹马,簡稱aab,其中包含您應(yīng)用的所有經(jīng)過編譯的代碼和資源除秀,它會(huì)將
APK 生成及簽名交由 Google Play 來完成糯累,aab包大小上限提高到 150MB。
重要提示:從 2021 年 8 月起册踩,新應(yīng)用需要使用 Android App Bundle 才能在 Google Play 中發(fā)布泳姐。

2. 特性:apk構(gòu)建優(yōu)化

Google Play 會(huì)使用您的 App Bundle 針對(duì)每種設(shè)備配置生成并提供經(jīng)過優(yōu)化的 APK ,因此只會(huì)下載特定設(shè)備所需的代碼和資源來運(yùn)行您的應(yīng)用暂吉。您不必再構(gòu)建胖秒、簽署和管理多個(gè) APK 來優(yōu)化對(duì)不同設(shè)備的支持,而用戶也可以獲得更小且更優(yōu)化的下載文件包慕的。比如:應(yīng)用為了給用戶更好的體驗(yàn)扒怖,同一張圖片,會(huì)有360p业稼,720p盗痒,1080p三套資源。若無優(yōu)化,那么一個(gè)傳統(tǒng)apk有三套資源占用空間俯邓,上傳abb后1080p設(shè)備會(huì)安裝只有1080p一套資源的apk骡楼。

3. 特性:運(yùn)行時(shí)部署功能模塊

Play Feature Delivery 使用了 App Bundle 的多種高級(jí)功能,讓您可按條件分發(fā)或按需下載應(yīng)用的某些功能稽鞭,并且分發(fā)功能之后也可以選擇卸載這些功能鸟整。

分發(fā)方式:

  • 安裝時(shí)分發(fā):安裝應(yīng)用時(shí)下載。

  • 按需分發(fā):允許您的應(yīng)用根據(jù)需要請(qǐng)求和下載功能模塊朦蕴。

  • 根據(jù)條件分發(fā):允許您指定特定的用戶設(shè)備需求(例如硬件特性篮条、區(qū)域設(shè)置和最低 API 級(jí)別),以確定是否在安裝應(yīng)用時(shí)下載模塊化功能吩抓。

  • 免安裝分發(fā):用戶可以通過 Google Play 商店中的"立即體驗(yàn)"按鈕或您創(chuàng)建的網(wǎng)址體驗(yàn)?zāi)膽?yīng)用涉茧。

使用參考:
Play Feature Delivery

4. 特性:分發(fā)游戲資源

使用 App Bundle 發(fā)布應(yīng)用的游戲開發(fā)者可以使用 Play Asset Delivery(PAD)進(jìn)行游戲資源的分發(fā)。PAD提供了靈活的分發(fā)模式疹娶、自動(dòng)更新伴栓、壓縮和增量修補(bǔ)功能,并且可免費(fèi)使用雨饺。使用 PAD钳垮,所有資源包均在 Google Play 上托管和提供,因此您無需使用內(nèi)容分發(fā)網(wǎng)絡(luò) (CDN) 向玩家提供游戲資源额港。

PAD使用資源包(Asset Pack)饺窿,資源包由資源(如紋理、著色器和聲音)組成移斩,但不包含可執(zhí)行代碼肚医。

PAD通過 Dynamic Delivery分發(fā),您可以按照以下三種分發(fā)模式自定義如何以及何時(shí)將各個(gè)資源包下載到設(shè)備上:安裝時(shí)分發(fā)叹哭、快速跟進(jìn)式分發(fā)和按需分發(fā)忍宋。

4.1 分發(fā)模式

  • install-time:安裝時(shí)分發(fā)痕貌,資源包在用戶安裝應(yīng)用時(shí)分發(fā)风罩。這些資源包以拆分 APK(APK 集的一部分)的形式提供。您可以在應(yīng)用啟動(dòng)時(shí)立即使用這些資源包舵稠。這些資源包會(huì)增加 Google Play 商店上列出的應(yīng)用大小超升。用戶無法修改或刪除這些資源包。

  • fast-follow:快速跟進(jìn)式分發(fā)哺徊,資源包會(huì)在用戶安裝應(yīng)用后立即自動(dòng)下載室琢;用戶無需打開應(yīng)用即可開始 fast-follow 下載。這些資源包會(huì)增加 Google Play 商店上列出的應(yīng)用大小落追。

  • on-demand:按需分發(fā)盈滴,資源包會(huì)在應(yīng)用運(yùn)行時(shí)下載。

Google Play 商店會(huì)以歸檔文件(而非拆分 APK)的形式提供配置為 fast-follow 和 on-demand 的資源包,可以理解為獨(dú)立資源包巢钓。這些資源包隨后會(huì)在應(yīng)用的內(nèi)部存儲(chǔ)空間中展開病苗。

4.2 資源更新

更新應(yīng)用時(shí),install-time Asset Pack 會(huì)作為基礎(chǔ)應(yīng)用更新的一部分進(jìn)行更新(開發(fā)者無需執(zhí)行任何操作)症汹。對(duì)于 fast-follow 和 on-demand Asset Pack 的應(yīng)用更新硫朦,下載新的資源包,替換舊的資源包背镇。

4.3 下載大小上限

Asset Pack 因具有較高的大小上限而成為大型游戲的理想之選:

  • 每個(gè) fast-follow 和 on-demand Asset Pack 的下載大小上限為 512 MB咬展。

  • 所有 install-time Asset Pack 的總下載大小上限為 1 GB。

  • 一個(gè) Android App Bundle 中的所有 Asset Pack 的總下載大小上限為 2 GB瞒斩。

  • 一個(gè) Android App Bundle 中最多可以使用 50 個(gè)資源包破婆。

使用參考:
Play Asset Delivery

5. 補(bǔ)充

5.1 APK擴(kuò)展文件obb

Google Play要求上傳的apk大小不能超過100MB。如果超過100MB济瓢,Google Play 允許附加兩個(gè)大型擴(kuò)展文件荠割,每個(gè)擴(kuò)展文件大小上限為2GB,一個(gè)為主擴(kuò)展文件包含主體游戲資源一般不更新旺矾,一個(gè)為補(bǔ)丁擴(kuò)展用于為主擴(kuò)展文件提供小規(guī)模的更新蔑鹦。擴(kuò)展文件可以為任意格式,但是Google Play最終都會(huì)作為obb(Opaque Binary Blob)文件箕宙,并重新按照后面格式命名:[main|patch].<expansion-version>.<package-name>.obb嚎朽,例:main.16.com.example.zhazha.obb

在大多數(shù)設(shè)備上柬帕,Google Play 會(huì)同時(shí)下載擴(kuò)展文件和APK哟忍,因此當(dāng)用戶首次打開您的應(yīng)用時(shí),所需的一切都已準(zhǔn)備就緒陷寝。不過在某些情況下锅很,您的應(yīng)用必須在啟動(dòng)時(shí)從 Google Play 下載這些文件。

6. 參考

  1. Android App Bundle簡介:https://developer.android.com/guide/app-bundle

  2. APK擴(kuò)展文件:https://developer.android.com/google/play/expansion-files

  3. Play Feature Delivery 概覽:https://developer.android.com/guide/playcore/feature-delivery

  4. Play Asset Delivery 概覽:https://developer.android.com/guide/playcore/asset-delivery

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末凤跑,一起剝皮案震驚了整個(gè)濱河市爆安,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌仔引,老刑警劉巖扔仓,帶你破解...
    沈念sama閱讀 206,378評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異咖耘,居然都是意外死亡翘簇,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門儿倒,熙熙樓的掌柜王于貴愁眉苦臉地迎上來版保,“玉大人,你說我怎么就攤上這事〕估纾” “怎么了蹈垢?”我有些...
    開封第一講書人閱讀 152,702評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長袖裕。 經(jīng)常有香客問我曹抬,道長,這世上最難降的妖魔是什么急鳄? 我笑而不...
    開封第一講書人閱讀 55,259評(píng)論 1 279
  • 正文 為了忘掉前任谤民,我火速辦了婚禮,結(jié)果婚禮上疾宏,老公的妹妹穿的比我還像新娘张足。我一直安慰自己,他們只是感情好坎藐,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評(píng)論 5 371
  • 文/花漫 我一把揭開白布为牍。 她就那樣靜靜地躺著,像睡著了一般岩馍。 火紅的嫁衣襯著肌膚如雪碉咆。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,036評(píng)論 1 285
  • 那天蛀恩,我揣著相機(jī)與錄音疫铜,去河邊找鬼。 笑死双谆,一個(gè)胖子當(dāng)著我的面吹牛壳咕,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播顽馋,決...
    沈念sama閱讀 38,349評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼谓厘,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了寸谜?” 一聲冷哼從身側(cè)響起竟稳,我...
    開封第一講書人閱讀 36,979評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎程帕,沒想到半個(gè)月后住练,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體地啰,經(jīng)...
    沈念sama閱讀 43,469評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡愁拭,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評(píng)論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了亏吝。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片岭埠。...
    茶點(diǎn)故事閱讀 38,059評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出惜论,到底是詐尸還是另有隱情许赃,我是刑警寧澤,帶...
    沈念sama閱讀 33,703評(píng)論 4 323
  • 正文 年R本政府宣布馆类,位于F島的核電站混聊,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏乾巧。R本人自食惡果不足惜句喜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評(píng)論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望沟于。 院中可真熱鬧咳胃,春花似錦、人聲如沸旷太。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽供璧。三九已至存崖,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間睡毒,已是汗流浹背金句。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吕嘀,地道東北人违寞。 一個(gè)月前我還...
    沈念sama閱讀 45,501評(píng)論 2 354
  • 正文 我出身青樓,卻偏偏與公主長得像偶房,于是被迫代替她去往敵國和親趁曼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評(píng)論 2 345

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