Google為縮小Android應用程式安裝容量,在去年的時候發布了Android App Bundle,而現在加入了新的更新,加入附加語言安裝API,同時也簡化了即時(Instant)應用程式App Bundle的發布程序,也改善了Google Play應用程式簽章提供了新的選項,除此之外,現在開發者還可以按需要卸載應用程式模組,進一步減少容量占用。

由於Android應用程式日漸肥大,不只減少使用者安裝應用程式的慾望,還會增加應用程式被移除的機率,而且多數開發者不願為各種規格的裝置,維護各自的APK,因此用一個APK通吃所有裝置的結果,便是APK中包山包海,使用者下載的安裝檔中包含了許多用不到的檔案。因此Google提出了Android App Bundle解決方案,開發者上傳適用所有裝置的安裝內容,再由Google Play來跟據使用者的裝置,提供個別所需要的安裝檔案。

Android App Bundle因為不只能減少應用程式容量,也簡化了發布流程,因此獲得不少開發人員的支持,目前已經有超過6萬個應用程式,使用Android App Bundle格式發布。而根據開發者的回饋,Google對Android App Bundle做出了幾點更新。

過去當開發者以Android App Bundle作為應用程式發布格式時,Google Play只能透過裝置的區域設定,提供語言資源最佳化,當使用者在安裝應用程式之後,更改系統區域設置,則Google Play會自動下載所需的資源。而從最新的Play Core函式庫 1.4.0開始,Google推出了新的附加語言API,開發者可以在應用程式提供語言選擇器,應用程式可以請求Google Play立刻安裝需要的語言資源,讓使用者能順利開始使用。

在Android Studio 3.3中,開發者可以在單一專案中建構同時包含一般與即時應用程式的App Bundle,但是在上傳至Google Play時,仍然必須上傳兩個單獨的App Bundle,不過這次更新後已經沒有這個限制了,開發者可以在Play控制臺上傳內含即時體驗模組的單一App Bundle,並在發布新的即時應用程式時進行選擇即可。Google表示,安裝版本以及即時版本使用相同版本的程式碼,而這將簡化發布工作流程。

而由於開發者需要啟用Google Play應用程式簽章,才能使用Android App Bundle發布應用程式,並且獲得動態交付(Dynamic Delivery)最佳化,Google提到,根據開發者的回饋,Google修改了新應用程式的註冊流程,讓開發者能更簡單地初始化用於應用程式簽章的金鑰。開發者不需要先上傳自簽章檔案,只要上傳現有金鑰就可以了,或是選擇Google Play生成金鑰,讓用於簽署本地端App Bundle成為上傳用金鑰。

另外,Google讓開發人員可以永久卸載應用程式初始安裝中的動態功能模組,Google提到,這項改變將能進一步縮小應用程式的容量,當使用者初次下載應用程式後,部分模組像是註冊功能將不再使用,開發者就可以設定將其卸載,即便在之後更新也不會被重新安裝,當然,當使用者再次需要使用註冊功能時,可以按需安裝回來。


Advertisement

更多 iThome相關內容