自从我们在 Google I/O 上公开发布以来,我们一直努力提升构建免安装应用的开发者体验。我们非常高兴地推出 Android Instant Apps SDK 1.1,其中包含一些开发者请求最为强烈的功能,例如改进的 NDK 支持、用于缩减二进制文件大小的配置 APK,以及一个新 API,这个 API 可以在用户从免安装应用过渡到安装版应用时保持他们的环境。
推出配置 APK
要想获得出色的免安装应用体验,应用二进制文件需要精简并进行精心组织。这正是我们推出配置 APK 的原因。配置 APK 让开发者可以将设备特定的资源和原生库隔离到独立的 APK 中。对于使用配置 APK 的应用,Android 免安装应用框架将仅加载与用户设备相关的资源和原生库,从而可缩减免安装应用在设备上的总大小。
目前,我们支持为显示密度、CPU 架构 (ABI) 和语言使用配置 APK。使用配置 APK 后,我们看到加载的二进制文件的大小平均缩减了 10%。给定应用的实际空间节省取决于可以配置的资源文件和原生库的数量。
例如,屏幕密度为 LDPI 并将语言设置为中文的 ARM 设备用户之前会收到与设备无关的代码和资源,而现在仅会获取具有 ARM 原生库、中文语言和 LDPI 资源的配置 APK。他们不会收到任何其他配置 APK,例如 x86 库、西班牙语字符串或 HDPI 资源。
为您的应用设置配置 APK 需要对您的 gradle 设置进行简单更改。按照我们公共文档中的步骤操作即可。
安装后的持久性用户环境
在 Android Oreo 上,免安装版应用的内部存储空间可直接由安装版应用使用。在此版本的 SDK 发布后,我们可以在较旧版本的 Android 框架上实现此功能,其中包括 Lollipop、Marshmallow 和 Nougat 设备。
要提取免安装应用的内部存储空间,安装版应用现在可以使用 Instant Apps Google Play Services API 调用InstantAppsClient.getInstantAppData()并获得一个免安装应用内部存储空间的 ZIP 文件。
查看我们的示例代码和文档,了解有关如何使用此 API 的更多详细信息。