Общие образы системы (GSI)

Generic System Image ( GSI ) — это чистая реализация Android с немодифицированным кодом Android Open Source Project (AOSP), которую можно запускать на различных устройствах Android.

Разработчики приложений могут устанавливать и запускать новейшие версии Android GSI для тестирования приложений на различных устройствах Android, используя GSI из разных версий ОС Android, включая сборки Developer Preview и Beta. Добавление GSI в процессы верификации и тестирования может дать вам ряд дополнительных преимуществ:

  • Более широкое покрытие тестированием на большем количестве реальных устройств
  • Больше времени на устранение проблем совместимости приложений
  • Больше возможностей исправить проблемы совместимости в Android, о которых сообщают разработчики приложений

Проект GSI имеет открытый исходный код и помогает улучшить экосистему Android, предоставляя больше возможностей для улучшения качества приложений и ОС перед каждым выпуском Android.

Поддержка GSI на всех устройствах
Рисунок 1 : GSI можно установить на широкий спектр устройств, а иногда даже на версии Android, для которых производитель устройства не предоставляет собственный образ системы.

GSI-инструменты включают в себя те же основные системные функции для всех устройств, на которых они установлены. Другими словами, GSI-инструмент не включает в себя настройки производителя устройства. В связи с этим вы можете столкнуться с различиями в поведении в следующих ситуациях:

  • Взаимодействия, в которых задействован пользовательский интерфейс
  • Рабочие процессы, требующие более новых аппаратных функций

Проверьте соответствие устройства

GSI могут функционировать только на устройствах со следующими характеристиками:

  • Загрузчик разблокирован.
  • Полностью совместим с высокими частотами.
  • Выпущено с 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 , то устройство полностью поддерживает Vendor Native Development Kit (VNDK) и может использовать любую версию операционной системы GSI, более новую, чем версия ОС на устройстве. По возможности используйте последнюю доступную версию ОС GSI.

    Если значение атрибута равно false , то устройство не полностью совместимо с VNDK и может использовать только образ GSI для той же версии ОС, что и на устройстве. Например, устройство Android 10 (API версии 29), несовместимое с VNDK, может загрузить только образ Android 10 GSI.

  3. Тип архитектуры ЦП GSI должен соответствовать архитектуре ЦП устройства. Чтобы найти правильную архитектуру ЦП для образа GSI, выполните следующую команду:

    adb shell getprop ro.product.cpu.abi

    Используйте выходные данные, чтобы определить, какой образ GSI использовать при прошивке устройства. Например, на Pixel 5 выходные данные будут указывать на архитектуру процессора arm64-v8a , поэтому следует использовать тип GSI arm64 .

Загрузить GSI

Есть несколько способов получить GSI, в зависимости от ваших потребностей в разработке:

Установить GSI

Установка GSI зависит от устройства. За точным списком инструментов и процедур обратитесь к производителю вашего устройства. Для устройств Google Pixel, таких как Pixel 3 и более поздние модели, существует несколько способов установки:

Оставьте отзыв

Глобальные индексы (GSI) предназначены для помощи в проверке ваших приложений на Android. Мы будем благодарны за ваши отзывы об изображениях, инструментах и ​​процессе использования GSI на ваших устройствах.

Чтобы уведомить нас об ошибках или запросах на новые функции, используйте специальный компонент отслеживания ошибок для GSI.

Дополнительные ресурсы