Unity 2018.3 beta中的Android App Bundle (AAB)支持


Google Play商店中的大型應用程序和游戲的下載率普遍較低,這是因為用戶擔心會使用設備上過多的存儲空間,耗盡他們的數據流量,而且在網速緩慢的時候進行下載會等待更長時間。Android App Bundle是全新的Android應用發布格式,它能使用戶設備上的游戲更小。

 

Unity 2018.3 beta中,我們為部分硬件配置加入了App Bundle的支持。本文將介紹如何構建Android App Bundle,而不是APK。當用戶希望釋放設備空間時,通常會首先卸載較大的游戲。所以該項功能會影響所有市場中的用戶,尤其是設備存儲空間和數據流量較昂貴的市場。

 

Android App Bundle 

Android App Bundle 包含游戲中所有已編譯的代碼和資源,但它會推遲APK生成和Google Play簽名。Google Play的新版應用服務模型Dynamic Delivery,它會使應用程序包根據用戶的設備配置來生成並提供優化過的APK文件,所以用戶只需下載運行應用所需的代碼和資源即可。開發者不再需要構建、簽名並管理多個APK來為多個不同設備提供支持,而用戶則能下載到更小的優化過的文件。

 

Android App Bundles擁有多個選項,可以根據不同的語言資源、屏幕分辨率和像素密度以及ABI生成APK文件,以及全新Dynamic Features動態功能。

 

在Unity 2018.3中,我們為CPU架構/ABI (ARMv7, ARM64 & x86)加入了對App Bundle的支持,我們還會繼續開發更多的目標平台以便開發者進行使用。

 

構建Android App Bundle

首先在Unity 2018.3 beta中打開項目。構建Android App Bundle(AAB)而不是APK,請點擊File > Build Settings打開Build Settings 窗口,勾選Build App Bundle 復選框,如下圖所示。

 

 

如果選擇Build ,Unity會生成AAB文件,該文件可以直接發布到Google Play。

 

如果選擇Build and Run,Unity會生成AAB文件,該文件會為關聯設備生成臨時APK文件,然后安裝APK文件到設備並運行應用程序。

 

如果選擇Build 並希望手動安裝應用程序到設備上,可以使用Google提供的bundletool utility ,你可在Unity安裝目錄中的Editor/Data/PlaybackEngines/AndroidPlayer/Tools目錄下找到它。

 

請注意,當構建應用程序包時,菜單Edit > Setting > Player下的Split APKs by target architecture 會被禁用,因為生成的應用程序包應包含所有支持目標的庫。

 

使用技巧

在開發期間,為了減少使用構建和運行時的迭代次數,可以禁用應用程序包的生成功能,並使用常規的APK文件,因為從應用程序包生成APK需要額外時間,之后才會部署到設備上。

 

應用程序包還可以從Android Studio生成,它使用從Unity導出的Gradle項目。為此,你需要使用Android Studio 3.2或更高版本,並選擇Build > Build Bundle(s) / APK(s) > Build Bundle(s)。

 

如果目標商店不支持Android App Bundles,你可以使用Player settings中的Split APKs by target architecture選項,從而根據終端用戶設備的CPU架構提供APK文件,或使用bundletool,該工具可以構建支持運行在任何環境的“通用APK”文件

 

參考和資源

  • ABI:應用程序二進制接口,每個接口用於一個CPU和指令集的組合。

     

  • Dynamic Features動態功能介紹

    https://developer.android.com/guide/app-bundle/configure

     

  • 了解bundletool的標識和選項

    https://developer.android.com/guide/app-bundle/test

     

  • Android App Bundle文檔

    https://developer.android.com/guide/app-bundle/test#generate_apks

 

小結

Unity 2018.3 beta中的Android App Bundle (AAB)支持就為大家介紹完畢,更多Unity最新功能介紹盡在Unity官方中文論壇(UnityChina.cn)!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM