APK和AAB到底是什么?一文告诉你两种技术的差别!
拥有安卓设备的用户们都肯定听说过APK(Android Package it)文件。然而,APK在安卓的世界中似乎就快要消失了。早在2018年,Google就在Google I/O大会上宣布即将向安卓引入新的APP动态化框架,AAB(Android App Bundle)。
(图片取自:Thurrott)
近日,一则消息也显示Google Play Store将在今年8月把原有的APK格式转成ABB。这次的转换会影响到开发者及普通用户,并让双方拥有更好的体验及效果。
(图片取自:Henri Le Chat Noir)
下面,小编想和大家科普以下APK与ABB的分别。
APK其实就是Java的JAR档案的延伸,所有安卓的应用程序都被捆绑在装置上安装所需的一切。这当中包括了代码、图像及声音等资产,其中一些会为不同的种类及尺寸装置提供不同的版本。
(图片取自:Android Police)
然而,随着安卓的生态系统大战,那些需要被打包在APK中的应用程序越来越多。因此,目前Google只为大型应用如游戏类型的应用制定特定的形式,并通过OBBs的形式进行提前下载。
(图片取自:GoodCore)
针对APK所面对的问题,AAB就能很好的解决。AAB能够大幅度减少用户所下载的APK大小,因为AAB是一种按照需求采用的安装模式。AAB能够结合Google Play Dynamic Delivery(动态交付)实现动态功能。
(图片取自:Medium)
AAB与APK最大的分别在于下载APP的时间被缩短了,因为AAB不需要包含所有的内容。通过AAB形式下载的APP的大小不得超过150MB,而超过这个大小的APP将利用Play Asset Delivery(PAD)方式来代替OBB。PAD系统对于非代码资产的下载速度也十分的快,甚至能够让用户在一边玩游戏的同时下载APP。
(图片取自:Twitter)
此外,AAB还有一个优势是APK无法做到的,这就是Play Feature Delivery。这个功能让用户能够尽快使用应用程序的所需功能,意旨用户会首先下载到那些能够让用户立刻使用的功能,而那些非必要的将会在前面的程序下载好后的几秒内利用PFD推迟到以后才下载。
(图片取自:Medium)
然而,AAB目前还不算是完美的,对于开发者来说,AAB无法适用于Play Store之外的应用商城,这可是大大增加了开发者的烦恼。由于AAB不适用于其它商城,倘若开发者选择将APK转成AAB,这意味着开发者无法在其它商城提供一样的软件包。因此,目前AAB的存在仍然是饱受争议的。