F-Droid 支持 APK 扩展文件:OBB

许多应用如游戏和地图,运行时需大量数据。Android 应用的 APK 文件大小上限为 100 MB,而一个国家的地图文件通常超过 100 MB。另外,为了尽快运行应用,用户在首次打开应用时,不应等待大量数据下载完成。

为了提供一种灵活的传输大数据方式,谷歌创建了 “APK 扩展” 文件,即:OBB。APK 和 OBB 文件可分开上传,因此这种方式还可以显著节省带宽。比如,游戏资源数据无需经常更改,所以可作为 OBB 提供。当该游戏应用自身(即 APK 文件)更新时,更新数据无需包括 OBB 文件中的游戏数据。

许多应用如游戏和 MAPS.ME 使用 OBB 文件。F-Droid 对 OBB 的支持在于,可先在 APK 之前安装 OBB,这样安装 APK 之后即可使用,因为 OBB 已安装就位。同时, F-Droid 为应用提供 Intent 方式来获取 OBB 下载网址,以便通过应用自身来处理 OBB 下载/上传。这种方式类似 Google Play。

如需 OBB 支持,用户的 F-Droid 版本应不低于 v0.102,同时资源库应使用 fdroidserver v0.7.0 或更新版本。将 OBB 文件添加至资源库非常简单:将其复制到 APK 所在的同一文件夹,如 /path/to/fdroid/repo/

开发人员使用方式

在应用中使用 OBB 文件的一个具体实例:应用商店不一定提供 OBB 文件的安装。这表示,打开应用时无法找到 OBB 文件。在这种情况下,应通过应用自身来下载和安装 OBB 文件。谷歌 Play 推荐使用其专有的应用程序授权 服务,而 F-Droid 提供的方式全部为自由软件。

应用可能需要两个 OBB 文件,获取相应的网址,请使用以下 Actions 操作发送 Intent 至 F-Droid:

  • org.fdroid.fdroid.action.GET_OBB_MAIN_URL
  • org.fdroid.fdroid.action.GET_OBB_PATCH_URL

然后,可以选择您偏好的方式通过网址下载。请确保文件最终保存在设备外部存储的 Android/obb/ 中。