自 1982 年起,Adobe 的创意和办公工具就开始为用户提供帮助。尽管 Photoshop、Illustrator 和 Lightroom 等 Adobe 应用几十年来一直深受创意人士的喜爱,但一直保持低调的 PDF(Adobe 在近 30 年前开发的软件)才堪称家喻户晓。
Adobe 的旗舰 Android 移动应用 Adobe Acrobat Reader 是免费的全球性标准应用,其非常可靠,可用于查看、签署 PDF 文档并为其添加注释,下载量超过 5 亿次。经过这么多年,该软件仍在持续改进。“在过去的一年里,我们在这款 Android 应用中添加了大量功能,”Adobe 计算机科学家 Shubham Garg 说道。不过,虽然用户很喜欢这些新功能,但同时,他们也开始注意到应用变得越来越大,这导致转化量下降。这是个问题,“特别是在发展中经济体,这两个问题就更加突出了,”Shubham 说道。
他们做了什么
Android App Bundle 让 Adobe 无需花费太多精力就可以缩减 Acrobat 的应用大小。“迁移到 app bundle 很容易,”Shubham 说道。“我们的应用本身就支持最低 Android SDK 版本和 Gradle 要求,因此需要我们对代码进行的更改很少,可以忽略不计。”他说,在将其签名密钥的副本安全转移至 Google 后,部署就轻而易举了。
除了 bundle 化处理之外,Adobe 还选择对多个应用功能进行模块化处理,以便进一步缩减应用大小。“我们已在应用内使用了库模块,但动态功能可以让我们以另一种方式思考模块化,”Shubham 说道。“应用可按独立方式提供,在编译时不依赖功能,因此可以之后再安装这些功能。”
他们最先模块化的功能是“填充和签名”。借助 Dynamic Delivery,他们再也不用在每个 APK 中包含每种屏幕密度和语言特定资源。而且,由于他们已经按架构拆分了旧 APK,因此团队无需执行任何额外操作即可使这些 APK 与 app bundle 兼容。
结果
利用 app bundle 和 Dynamic Delivery,Acrobat 将应用大小缩减了 15 MB,约为 22% - 25%。对于某些设备,缩减幅度更大,约 30%。部署工作进展非常顺利:“我们没有遇到任何性能下降的情况,并且下载体验也很流畅,”Shubham 说道。他认为这些成果的取得,在一定程度上归功于测试的简易性。“我们依靠内部应用分享,该功能为我们提供了 Play 商店体验,同时让我们可以上传可调试的应用,而无需担心版本控制。”
bundle 化处理还节省了团队时间,因为他们现在只需将单个工件上传到 Google Play。“以前,我们必须依赖 4 个不同的 APK(按架构拆分),”Shubham 说道。现在,一个 bundle 就解决了。他们还发现安装转化率提高了 5% 到 7%,而且用户针对应用大小的投诉也减少了。
Dynamic Delivery 带来的好处是,“应用安装大小更小了,速度也更快了,”Shubham 说道。在进行模块化处理之前,团队需要为每个版本上传四个不同的 APK。此外,由于每个 APK 都有不同的版本号,因此他们必须分别衡量 Vitals 指标和分析数据 - 此过程非常繁琐,而且容易出错。但借助 app bundle,他们只需上传一个工件,而且该工件只有一个版本号。“这就帮助我们简化了开发流程。现在,我们只要与测试人员共享一个 build 就可以完全放心了,因为我们知道这个 build 适用于所有设备,”Shabham 说道。
接下来要做什么?“我们希望试用按条件分发功能,通过定位到特定受众群体来了解缩减应用大小或通过 Dynamic Delivery 动态分发特定功能的好处。”Shubham 说道。
开始使用
所有应用和游戏开发者都可以使用 Android App Bundle。立即开始使用吧!