谷歌棄用 APK 格式!替代品 AAB 有何優勢?
但自下個月起,APK 格式要被谷歌棄用了。
近日,谷歌宣佈:自 2021 年 8 月起,Google Play 將要求開發者以 Android App Bundle (以下簡稱 AAB)格式釋出新應用,該格式將取代 APK 作為標準釋出格式。
1、為何要從 APK 轉變為 AAB?
一直以來,Android 首選的應用程式包就是 APK,而一個 APK 中往往包含應用程式碼、圖片、音訊和開發者生成的應用簽名金鑰等大量資源。
不僅如此,由於 Android 裝置規格各異,開發人員還需根據裝置的不同螢幕密度(320dpi、480dpi 等)、處理器(ARM、ARM64、x86)、使用者所在的不同地區,在 Google Play 中構建和上傳多個 APK,以此才能在使用者點選“安裝”時,在其裝置上安裝最適配的 APK。
但在這種情況下,應用開發者便承受太多:不僅要開發應用,還要管理許多 APK 以支援大量裝置。因此為了省時省力,大多數開發者通常都會選擇構建一個通用 APK,即包含語言包、程式碼等在內的所有資源。不論使用者身處何處、使用何種規格的裝置,只需下載這個通用 APK 即可。
說到這裡,你或許發現了問題所在:包含所有資源的通用 APK 太大了。使用者分明只需其中與自己裝置相適配的資源,卻要把整個 APK 都下載下來,不僅延長了安裝時間,也佔用了更多的頻寬。
為了解決這個問題,谷歌在 2018 年 Google I/O 大會上推出了 AAB 格式,希望以此減少開發者的負擔,同時也有助於減少應用大小、安裝時間和頻寬消耗,提高使用者體驗。
簡單來說,AAB 格式其實並不是一個全新的應用安裝包,你可以將它當做一個容器,裡面包含著一個基本 APK 和多個用於特定配置的 APK。
而谷歌在這之中則充當“篩選”的角色:一旦開發者選擇使用 AAB 格式釋出應用,谷歌就會根據使用者的裝置配置從中生成優化後的 APK 提供給使用者。對使用者而言,這樣的 APK 體積小、安裝快,對開發者來說也省事:不必再為各種裝置管理一大堆 APK。
因此,總體來看,谷歌要求下個月以 AAB 格式釋出新應用的決定主要面向開發者,對使用者而言影響不是太大,因為最終在裝置上安裝 Android 應用的打包格式還是 APK。
2、AAB 的優勢
相較於 APK,AAB 自然有其獨一無二的優點。
首先便是上文所提到的應用體積縮小。據谷歌官方介紹,使用 AAB 生成優化的 APK 體積平均會比一般的 APK 小 15%,而這一資料會根據應用大小有較大起伏。例如 Airbnb 在從 APK 切換到 AAB 格式後應用大小減少了 22%,而 Netflix 更是減少了 57%。
其次,AAB 的 Play Feature Delivery 功能可自定義將哪些功能模組交付給哪個裝置,支援安裝時交付、按條件交付和按需交付等三種模式。這也就是將應用的功能拆分開來,以此大幅縮短使用者下載應用的時間,其中沒用的功能使用者可以不下載或等到以後需要時再下載。
還有一個 Play Asset Delivery 功能,以動態方式交付大型資源可以減少使用者等待時間,同時縮減交付成本。即使用 Play Asset Delivery 的遊戲可通過紋理壓縮格式作為交付條件,以便使用者只獲取適合其裝置的資源,避免浪費空間或頻寬。
3、對於 AAB 的擔憂
雖然從結果看來,以 AAB 格式分發新應用對開發者和使用者都有益處,但還是有部分人對此有些擔憂。
有人擔心從 APK 變為 AAB 格式會太複雜。但谷歌表示:“對於大多數應用而言,構建 AAB 檔案來替代 APK 檔案僅需要少量工作。”它指出 App Bundle 是一種受主流構建工具支援的開源格式,因此在 Play Core 原生 SDK、Play Core Java SDK 和 Play Core Kotlin SDK 的助力下,無論使用者偏好哪種編碼環境,都可以輕鬆開始使用可選的高階 App Bundle 功能。此外,AAB 的要求僅適用於新應用,現有應用及面向特定 Google Play 使用者的私人應用目前無需遵從此要求。
有人對與谷歌共享私人簽名金鑰表示擔憂(簽名金鑰是驗證 APK 完整性的重要資訊,谷歌從 ABB 中生成優化的 APK,因此簽名金鑰也將包含在 ABB 中),對此谷歌表示,所有“簽名金鑰都將儲存在谷歌用來儲存自己的金鑰的同一基礎設施上” ,因此開發者的私人簽名金鑰都會受到嚴密的安全保護。
還有人擔心因為 AAB 不能在 Google Play 以外的地方下載,會對如亞馬遜應用商店等第三方應用商店造成很大影響。但據瞭解谷歌已經開發了一個名為 bundletool 的開源工具,允許開發人員從 AAB 包中建立 APK,因此想在第三方商店中釋出 Android 應用程式的開發人員可以手動匯出其應用的 APK 版本。
那麼對於谷歌的這一決定,你有什麼看法嗎?
來源:CSDN
原文:https://mp.weixin.qq.com/s/MINFYEOOJQGyvEhB94VtWQ
相關文章
- 谷歌應用商店將用 AAB 格式替代 APK:8 月實施谷歌APK
- Python有何優勢?技術前景如何?Python
- Golang有什麼優勢?與Erlang有何差異?Golang
- Hadoop大資料平臺有何優勢?Hadoop大資料
- Linux與windows相比有何優勢,看完就明白了LinuxWindows
- 恆訊科技分析:直播加速解決方案採用SDWAN網路有何優勢?
- 家庭住宅IP:一手純淨IP有何優勢
- 什麼是無伺服器架構?有何優勢?伺服器架構
- Linux是什麼系統?Linux系統有何優勢?Linux
- 什麼是伺服器虛擬化有何優勢伺服器
- 系列好文 | Kubernetes 棄用 Docker,我們該何去何從?Docker
- 服裝ERP應用優勢有哪些?
- 國內下載谷歌商品apk谷歌APK
- 當下最出圈的JRPG有何優勢?能否被大量複製
- 告別伺服器崩潰,華為雲ECS有何優勢伺服器
- 谷歌的grpc和facebook的相比thrift 有哪些優勢,又有哪些缺點?谷歌RPC
- 給力檔案共享,企業雲盤辦公平臺有何優勢
- DevSecOps優勢有哪些dev
- 區塊鏈vs傳統資料庫:分散式執行有何優勢?區塊鏈資料庫分散式
- 用代理IP進行渠道查有什麼優勢
- 互動投影系統應用的優勢有哪些?
- 雷達互動投影有什麼應用優勢?
- 學Python有哪些優勢Python
- F5負載均衡有何技術優勢?為你詳細解讀負載
- 抖音本地生活服務商SaaS系統私有化部署有何優勢?
- 展廳智慧中控系統有哪些應用優勢
- 伺服器為什麼用Linux?其優勢有哪些?伺服器Linux
- 熱點淺談:與傳統IT開發相比,低程式碼平臺有何優勢?
- 四個方面告訴你直播系統開發做細化定位有何優勢
- 恆訊科技分析:谷歌雲與AWS誰更有優勢?谷歌
- 放棄TensorFlow,谷歌全面轉向JAX谷歌
- go語言有哪些優勢Go
- Redis相比Memcached有哪些優勢?Redis
- 高防CDN有啥優勢
- 學習Python有哪些優勢Python
- 獨享ip有哪些優勢?
- 學Java優勢有什麼?Java
- 用Python做資料分析有哪些優勢?Python學習分享!Python