Google 致力于为黑人社区推动种族平等。查看具体举措

通用系统映像

通用系统映像 (GSI) 是一种纯 Android 实现,采用未经修改的 Android 开源项目 (AOSP) 代码,可在各种 Android 设备上运行。

各种设备的 GSI 支持情况

图 1. 各种设备的 GSI 支持情况。

从 Android 9(API 级别 28)开始,通用系统映像 (GSI) 在整个 Android 发布周期内都可供应用开发者使用。作为应用开发者,您可以在各种现有的 Android 设备上以及在不同的 Android 操作系统发布阶段(包括预览版和 Beta 版阶段)安装并运行最新的 Android GSI,以执行应用测试!这样一来,您就可以比以往更早开始在更大范围内测试应用:

  • 使测试覆盖到更多的现实设备
  • 有更多时间来解决应用兼容性问题
  • 有更多机会来解决应用开发者报告的与 Android 操作系统不兼容的问题

注意:您安装的 GSI 版本会高于设备上当前安装的 Android 版本。

GSI 项目可以在下一个操作系统版本发布之前,提供更多方法来提高应用和操作系统的质量,从而帮助改善 Android 生态系统。该项目也是开源的

GSI 中包含所有搭载 Android 9 及更高版本的设备中的核心系统功能。换句话说,GSI 中不包含设备制造商的定制。但在以下情况下,您可能会遇到行为差异:

  • 涉及界面的互动。
  • 需要更新的硬件功能的工作流。

检查设备合规性

GSI 仅适用于具有以下特征的设备:

  • 引导加载程序已解锁。
  • 完全符合 Treble 要求。
  • 出厂时搭载 Android 9(API 级别 28)或更高版本。从较低版本升级到 Android 9 的设备不一定支持 GSI。

如需确定设备是否可以使用 GSI 以及应该安装哪个 GSI 操作系统版本,请执行以下操作:

  1. 运行以下命令来检查设备是否支持 Treble:

    adb shell getprop ro.treble.enabled

    如果响应为 false,表示设备不兼容 GSI,您不应继续执行操作。如果响应为 true,请继续执行下一步操作。

  2. 运行以下命令来检查设备是否支持跨版本安装:

    adb shell cat /system/etc/ld.config.version_identifier.txt \
    | grep -A 20 "\[vendor\]"

    在输出的 [vendor] 部分中查找 namespace.default.isolated

    如果该属性的值为 true,表示设备完全支持供应商原生开发套件 (VNDK),因此可以使用比设备端操作系统版本更高的任何 GSI 操作系统 (OS) 版本。选择可用的最新 GSI 操作系统版本。

    如果该属性的值为 false,表示设备不完全兼容 VNDK,因此只能使用与设备端操作系统版本相同的 GSI。例如,如果搭载 Android 9(API 版本 28)的设备与 VNDK 不兼容,则只能加载 Android 9 GSI 映像。

  3. GSI CPU 架构类型必须与设备的 CPU 架构匹配。如需为 GSI 映像查找合适的 CPU 架构,请运行以下命令:

    adb shell getprop ro.product.cpu.abi

    通过该输出确定在刷写设备时要使用的 GSI 映像。例如,在 Pixel 3 上,输出会指明 CPU 架构是 arm64-v8a,因此您需要使用 arm64 类型的 GSI。

下载 GSI 映像

OEM 不得使用此处列出的这些 GSI 版本来运行和提交合规性测试。OEM 应该继续联络现有的沟通渠道(例如其客户技术经理)来开展与合规性测试有关的活动。

有几种方法可以获得 GSI,具体取决于您的开发需求:

  • 如果需要含 GMS 的 Android 11 预览版 GSI 和 Android 10 GSI,请从 GSI 发布页面下载。
  • 如果需要不含 GMS 应用的预构建 GSI 映像,请从 AOSP CI 网站下载。
  • 如需构建不含 GMS 的 Android 10 和 Android 9 GSI,请从 AOSP 下载源代码并构建您的 GSI。

安装 GSI 映像

注意:如果您的设备已经采用了 Android 启动时验证 (AVB),请在刷写 GSI 之前,先下载并刷写以下映像以停用 AVB:vbmeta.img

安装 GSI 的方法取决于设备。如需了解确切的工具和步骤,请咨询设备制造商。 对于 Pixel 3 和更高版本的设备,有以下几种安装方法:

  • 手动刷写 GSI 映像。请参阅刷写 GSI
  • 如果设备已经搭载 Android 10,请使用动态系统更新 (DSU)。请参阅动态系统更新网站
  • 向我们提供反馈

    GSI 映像有助于在 Android 上验证应用。非常感谢您针对映像、工具以及在设备上启用 GSI 的过程提供反馈。

    如有任何错误和功能请求要告知我们,请使用专用的问题跟踪器组件

    其他资源