為打壓鴻蒙出盡損招,谷歌急了!
點(diǎn)擊上方名片關(guān)注我們
Android(安卓)平臺(tái)的?.apk?文件,大家應(yīng)該不陌生吧?安卓用戶所使用的所有軟件、應(yīng)用都是基于 .apk 的應(yīng)用程序包。
通過(guò) .apk 文件,安卓用戶可在其他平臺(tái)自由分享安裝包。不需要應(yīng)用商店,只要能下載到,就能安裝使用。而?.apk?安裝包的存在,就能擺脫應(yīng)用商店束縛,自由下載、分享、安裝所需的軟件,別提有方便了。同樣的,華為鴻蒙 OS?目前正處于初期階段,開發(fā)團(tuán)隊(duì)考慮到原生應(yīng)用開發(fā)成本、難度、用戶學(xué)習(xí)成本等問(wèn)題,也使用了 Android 兼容層。鴻蒙的軟件環(huán)境目前大多以?Android?應(yīng)用為主。先兼容再獨(dú)立,這是件好事,無(wú)可非議。不然就成了“巧婦難為無(wú)米之炊”。*?Win10?Mobile 就死在無(wú)軟可用的窘境而最近,果子在翻閱 Android 開發(fā)者文檔時(shí),突然發(fā)現(xiàn)了這樣一件事:應(yīng)用程序包將更新為 .aab 格式,未來(lái) .apk 可能將成為歷史。而這次應(yīng)用程序包格式更新迭代,果子感覺(jué)是“醉翁之意不在酒”,極大可能為了打壓鴻蒙 OS 軟件環(huán)境。具體情況究竟是怎么回事?聽我慢慢道來(lái)。
.aab?是什么.aab 是 Android 全新的應(yīng)用程序發(fā)布格式,其全稱為:Android App Bundle?,其地位同 .apk 一致。這次,谷歌應(yīng)用商店宣布,從 2021?年 8?月開始,要求新上架?Google Play?的應(yīng)用必須使用?Android App Bundle?。那么新的格式?.aab 有什么優(yōu)點(diǎn)?有什么壞處?為什么說(shuō)它可能是為了打壓鴻蒙 OS ?在說(shuō)明之前,先帶大家一起了解一下安卓?.apk?分包擴(kuò)展和?Split APK。分包擴(kuò)展在國(guó)內(nèi)應(yīng)用商店,大家在下載大型 App ,比如游戲時(shí)。通常情況都需要下載容量 1 G 以上的 .apk 安裝包。但這種大容量的 .apk?在谷歌應(yīng)用商店是不被允許的,取而代之是使用?.obb?文件——?也被稱為?APK?擴(kuò)展文件。使用?apk obb?的方式,目的是優(yōu)化用戶傳輸下載,開發(fā)者維護(hù)體驗(yàn)。舉個(gè)例子,大家安裝的微信(包名為:com.tencent.mm)國(guó)內(nèi)版本,安裝目錄會(huì)在?/data/app/?下。而谷歌版本,還需在?/Android/obb/?目錄下存放微信的 .obb 數(shù)據(jù)包,該文件為必須,缺失或不匹配都會(huì)導(dǎo)致應(yīng)用運(yùn)行問(wèn)題。同樣的,大型游戲軟件也是使用該方案,如圖為正在下載《英雄聯(lián)盟手游》的 .obb 擴(kuò)展包。Split APK上面介紹的分包擴(kuò)展,解決了用戶和開發(fā)者對(duì)大型應(yīng)用的處理問(wèn)題。而從本質(zhì)上,對(duì)應(yīng)用的運(yùn)行效率速度沒(méi)有很大改善。因此,谷歌引入了?Split APK?概念。簡(jiǎn)單的來(lái)講,就是在安裝前,會(huì)自動(dòng)檢測(cè)用戶的硬件配置,然后以多個(gè) .apk?的形式安裝應(yīng)用。如圖為?YouTube?客戶端安裝目錄,可見就采用了?Split APK 的方式。其中,文件名后綴?xxhdpi 為 1080P?分辨率的布局文件、zh?為簡(jiǎn)體中文資源文件、arm64_v8a?為?64 位處理器架構(gòu)?lib 庫(kù)文件。這樣一來(lái)二回,雖然方便了開發(fā)者維護(hù),提高了用戶下載安裝、運(yùn)行效率體驗(yàn),但也帶來(lái)了一系列問(wèn)題。權(quán)限收攏就目前而言,使用?Split APK?的應(yīng)用程序,用戶是無(wú)法直接提取安裝的,都需要借助第三方工具來(lái)備份安裝。這意味著,未來(lái)用戶在非谷歌應(yīng)用商店的第三方平臺(tái),下載安裝應(yīng)用會(huì)越來(lái)越困難。*?兩大知名安卓應(yīng)用下載平臺(tái)雖然?.aab?模塊化特性,極大的提升了開發(fā)者的更新維護(hù)的便捷性,節(jié)省了用戶在安裝應(yīng)用的時(shí)間和存儲(chǔ)空間?。就因?yàn)?span>?.aab?的存在,隨著用戶使用設(shè)備、所在環(huán)境的不同,所安裝的應(yīng)用可能也不盡相同,應(yīng)用也就是“不完整的”。并且,通過(guò)官方文檔,我們發(fā)現(xiàn)了:使用?app bundle?,開發(fā)者就必須加入?Google Play 應(yīng)用簽名計(jì)劃。簽名相當(dāng)于打上唯一的電子標(biāo)簽,因此,如果應(yīng)用被以非正常方式提取分享,就可能導(dǎo)致簽名改變,最終影響應(yīng)用運(yùn)行。除非,開發(fā)者自行在第三方平臺(tái)提供完整的應(yīng)用安裝包。只能通過(guò)指定應(yīng)用商店下載、應(yīng)用“不完整”、分享限制。這些重重限制,Android 用戶都有受到影響。面臨挑戰(zhàn)如果說(shuō) .aab 應(yīng)用格式落實(shí),對(duì) Android 用戶而言,只是增加了第三方下載應(yīng)用的難度。那么對(duì)于鴻蒙 OS 而言,這可能是一個(gè)巨大的挑戰(zhàn)。開篇已經(jīng)提到,目前鴻蒙 OS 的軟件大多還是以安卓應(yīng)用為主。所以如果谷歌全面使用 .aab ,肯定會(huì)對(duì)鴻蒙產(chǎn)生不利條件。目前華為無(wú)法使用 Google ,因此,建立了自己的應(yīng)用生態(tài)?AppGallery?。但未來(lái) .aab 的應(yīng)用無(wú)法上架,用戶不能下載安裝,這些問(wèn)題都需要解決。可能有人說(shuō),只是海外安卓而已,對(duì)國(guó)內(nèi)應(yīng)該影響不到。但果子要說(shuō)的是,不要太過(guò)于樂(lè)觀。比如,目前?Android?11?的定制系統(tǒng),都無(wú)法再訪問(wèn)?data 目錄,這就是谷歌強(qiáng)制要求的。Windows 11?也將面臨此問(wèn)題,前腳剛支持安裝安卓?apk ,結(jié)果谷歌現(xiàn)在就玩這招,使用戶不得不聯(lián)想到這是壟斷行為。果子始終希望鴻蒙能夠早日推出原生?.app?和 .hap?應(yīng)用程序,真正做出自己的生態(tài),打破壟斷。谷歌,我勸你一句,做不到互利,起碼可以共贏!同時(shí),也勸大家一句,鴻蒙學(xué)起來(lái)吧,共建鴻蒙生態(tài)。end
?歡迎加入IT充電站微信交流群?長(zhǎng)按下方圖片添加小助手邀請(qǐng)進(jìn)群
- 分享單片機(jī)/嵌入式/物聯(lián)網(wǎng)/人工智能干貨
- 與朱老師、其他學(xué)員互動(dòng)交流、技術(shù)討論
- 第一時(shí)間接收課程更新進(jìn)展
- 群內(nèi)有很多行業(yè)大佬并有大廠內(nèi)推機(jī)會(huì)