本帖最后由 胡子才是本體 于 2021-7-8 11:28 編輯
相信【APK】對與安卓盒子新老玩家肯定和 Android 一樣熟悉了,APK是安卓的應(yīng)用程序包,大家玩機的時候都會碰到。但谷歌宣布,今年8 月開始Google Play將要求開發(fā)者使用 Android App Bundle(AAB)格式發(fā)布新開發(fā)的應(yīng)用,不再是之前的APK發(fā)布格式。這會不會引起安卓市場的又一次混亂,還是讓安卓告別越用越卡?
Dingtalk_20210708105352.jpg (26.97 KB, 下載次數(shù): 12)
下載附件
保存到相冊
2021-7-8 11:15 上傳
一、什么是 AAB?
這次輿論漩渦的中心,就是 AAB 格式。所以首先我們要搞清楚,AAB 是什么。
在 2018 年 5 月舉行的 Google 開發(fā)者大會上,Google 就已公布了 Android App Bundle(AAB)格式,并稱這是其現(xiàn)代化開發(fā)的一部分。
搜狗截圖21年07月08日1116_2.png (332.56 KB, 下載次數(shù): 5)
下載附件
保存到相冊
2021-7-8 11:17 上傳
Google 介紹道,開發(fā)者在上傳應(yīng)用至 Google Play 時,需采用 AAB 格式。Google Play 將負責(zé)生成 APK 文件及簽名。
這句話有兩個重點:
一是 AAB 只是上傳時應(yīng)用的格式,用戶下載時,獲取的依舊是 APK。
對于開發(fā)者來說,從 APK 轉(zhuǎn)戰(zhàn)到 AAB 沒什么痛點。AAB 是一種開源格式,在構(gòu)建時,選擇相關(guān)的工具或引擎即可。
另外根據(jù) Google 的聲明,已經(jīng)存在的應(yīng)用,無需重新上傳 AAB 文件。只是今年 8 月份開始,提交新應(yīng)用時才需要使用 AAB。
用戶這邊更不必擔憂,因為我們在終端設(shè)備上看到的,依舊是 APK 格式。
搜狗截圖21年07月08日1116_3.png (114.34 KB, 下載次數(shù): 6)
下載附件
保存到相冊
2021-7-8 11:17 上傳
二是生成 APK 的工作,將由 Google Play 完成。
Google Play 將根據(jù)用戶設(shè)備的配置,從 AAB「源文件」里提取、組裝適合該用戶設(shè)備的代碼及資源,從而生成 APK 安裝包。
也就是說,這時用戶下載的應(yīng)用,已經(jīng)過 Google Play 優(yōu)化,以確保該應(yīng)用可在當前設(shè)備上以最佳狀態(tài)運行。
換種說法,方便你理解:AAB 就像是一袋方便面,里面有各種口味的調(diào)料包。Google Play 就是大廚,它會根據(jù)你設(shè)備的喜好,來判斷面要煮多久、放什么調(diào)料包。最終煮好的面,就是 APK 了。
二、AAB 有什么優(yōu)勢?
Google 之所以要「強硬」地推行 AAB 格式,很大原因是 AAB 相比 APK 有著多種先天優(yōu)勢。
第一點,是體積輕盈。
上文說到,Google Play 會從 AAB 里,個性化地生成并優(yōu)化 APK,以針對不同配置的設(shè)備、語言進行分發(fā)。
v2_44fb1a5534e6483d834170f0093f9a6a_img_000.gif (1.46 MB, 下載次數(shù): 6)
下載附件
保存到相冊
2021-7-8 11:17 上傳
舉個例子:假設(shè)你的手機是 2K 屏幕,首選語言是中文。那么 Google Play 在拼裝 APK 時,就會只把 2K 分辨率、中文字符包的資源放進 APK 里。
而傳統(tǒng)的 APK,開發(fā)者會將各種分辨率和語言包,打包在一起。用戶下載下來,手機需要從中挑出適合自己的資源安裝運行。隨著機型的不斷增加,開發(fā)者需要在 APK 文件里塞上越來越多的資源,來提高適配性。因此,App 越來越大,動輒上百 MB。
那么 AAB 的應(yīng)用,相當于「把復(fù)雜留給 Google Play,把簡單留給用戶」。用戶下載的 APK,是經(jīng)過 Google 精簡過的,因此體積會小一些。
那么會小多少呢?
根據(jù) Google 的說法,此舉可將 APK 的體積壓縮 15%。
不過實際情況可能要好于這一預(yù)期。例如愛彼迎在擁抱 AAB 后,體積減少了 22%。
Netflix 更甚,達到了 57%。
搜狗截圖21年07月08日1117_4.png (293.64 KB, 下載次數(shù): 7)
下載附件
保存到相冊
2021-7-8 11:17 上傳
利用 AAB 特性縮減體積的案例 所以對于用戶來說,可感知的一點就是安裝包變小很多了,下載、安裝的速度會更快。
其次,AAB 使得用戶下載的應(yīng)用,最大程度的符合設(shè)備配置,因此運行起來或許會更流暢。某種程度上算是提升了設(shè)備性能。
第二點,是應(yīng)用模塊化。
AAB 允許開發(fā)者將應(yīng)用的功能拆分開來。讓有需要的用戶,自行下載。我們繼續(xù)舉例子。假設(shè)開發(fā)者現(xiàn)在要做一個拍照 app,我的手機是單攝,你的手機是雙攝。為了減小應(yīng)用初始的大小,開發(fā)者可以把某些功能,設(shè)置為按需下載。
比如你想用這款 app 里,針對雙攝手機推出的功能,你就下載額外的資料包即可。
開發(fā)者還可以決定什么時間,向什么機型推送應(yīng)用的新功能。相當于自定義和掌控各類用戶的體驗?!改阄矣弥粋€ app,但享受著不同功能」的情況,或在將來成為常態(tài)。
搜狗截圖21年07月08日1122_6.png (418.44 KB, 下載次數(shù): 5)
下載附件
保存到相冊
2021-7-8 11:22 上傳
第三點,是免下載體驗。
AAB 的免安裝分發(fā)特性,可讓用戶在 Google Play 里,無需下載應(yīng)用,便可體驗到應(yīng)用的某些功能。
比如有一款游戲,我們不確定是否值得下載,就可以點擊「立即體驗」,試玩前幾個關(guān)卡,且不用下載該應(yīng)用。
這有點像 iOS 14 新增的 App Clip 功能,可以被看作完整版應(yīng)用的快捷方式,當中會包含應(yīng)用的一部分功能。
所以對于用戶來說,AAB 格式的推廣,我們是可以感知到的,且會有更好的體驗。
光打用戶體驗牌肯定不行,還得考慮開發(fā)者的感受。為了讓他們有動力轉(zhuǎn)戰(zhàn) AAB 格式,Google 給出了多個理由:
- 版本管理更高效,一個工件便可包含應(yīng)用所有經(jīng)過編譯的代碼、資源和原生庫。
- 模塊化應(yīng)用開發(fā)功能,可提升工程速度。
- 編譯系統(tǒng)的優(yōu)化,可縮短編譯時間。
不感興趣也沒關(guān)系,那就來「硬的」:8 月起,應(yīng)用程序包不改成 AAB 格式,就不許上傳,逼迫著開發(fā)者進行轉(zhuǎn)變。
這足以見得 AAB 對于 Google Play 未來規(guī)劃的重要性。
三、這對 Android 用戶有何影響?
推廣 AAB 格式,對于大眾用戶來說絕對是一件好事。誰不希望自己下載的應(yīng)用,體積又小、適配又好呢?
不過,Google 只是要求 Google Play 這樣做,沒有強制其他應(yīng)用商店跟進。
搜狗截圖21年07月08日1125_7.png (236.17 KB, 下載次數(shù): 8)
下載附件
保存到相冊
2021-7-8 11:25 上傳
也就是說,如果你沒有在使用 Google Play,那么這個改動暫時是感知不到的。
如果 AAB 格式的優(yōu)點真這么多,我們有理由相信,國內(nèi)的應(yīng)用商店會逐步跟上 Google 的步伐,擁抱 AAB。
如華為應(yīng)用商店,從前兩年開始,就已經(jīng)支持開發(fā)者上傳 AAB 格式的應(yīng)用。
———————————————————————————————————
相關(guān)推薦:http://m.81jnr2m.cn/bbs-539-1.html
|