Twitter 利用 app bundle 将应用大小缩减了三分之一

了解 Android App Bundle 如何帮助 Twitter 简化应用并缩减应用大小。

背景

Twitter 的团队来说,让应用始终保持轻量和易于安装非常重要,考虑到新兴市场的用户,更要如此。在这类市场,数据网络连接不够稳定,应用体量大会成为问题。“我们希望任何地方的任何人都可以使用 Twitter,尤其是在新兴市场。我们发现 APK 大小是制约很多用户采用 Twitter 的主要因素。”Twitter 的高级软件工程师 César Puerta 表示,“App Bundle 是一种简单直接的解决方案,可以大幅缩减分发大小,而且不会给我们增加任何麻烦。”

策略

在采用 app bundle 之前,Twitter 手动将其应用拆分为四个 ABI,这使应用大小缩减了很多。但是 app bundle 的方式简单得多,而且更为有效,因此他们欣然改用这种方式。

采用 Play 应用签名是使用 app bundle 的一项前提要求,为确保它符合 Twitter 的安全标准,Twitter 在决定进一步采取行动之前花时间对它进行检查。“我们做足了打算,留出了足够的实施时间,”César 说道,但是“最终的 app bundle 版本发布之后,可以非常轻松地采用,而且我们没有发现任何行为方面的回归问题。”

在开发期间,他们使用 bundletool 提取分发给质检团队的 APK。在发布正式版之前,他们还通过大量用户对 app bundle 进行了广泛测试。这一流程非常有效,因此他们后来弃用了内部的“dogfood”应用,改用 Play 商店,以便扩大覆盖面并更快地发现问题。

结果

采用 app bundle 之后,该团队顺畅地面向 1360 万用户发布了应用的全新模块化版本。由于 Twitter 的发布流程已经实现自动化,因此新的发布流程与之前的流程非常类似。但这也有一个意料之外的好处:“对于每次发布,处理一个版本 ID 而不是四个(对于 ABI 拆分)有助于我们整合指标。”César 说。

更重要的是,他们表示,除了使用 API 拆分已经实现的缩减,应用大小整体又缩减了 30-40%。他们能够取得此成绩,采用的方法之一是,使用功能模块分发较大的原生库(每个 ABI 3MB),只有少数设备才需要用到该库。

接下来,Twitter 计划为 Periscope(Twitter 的直播视频分享应用)改用 app bundle。他们的团队还致力于将整个 Twitter 应用模块化。César 说:“改用完全独立的功能模块之后,我们很有可能考虑对一些功能进行动态分发。”这可能还需要 6-12 月的时间。他还希望,采用模块化后,他们的开发者就能够将一些模块再用于 Twitter 和 Periscope,从而节省大量时间,避免不必要的重复工作。

开始使用

所有应用和游戏开发者都可以使用 Android App Bundle。 立即开始使用!

前往 Play 管理中心