Документация
ОС Аврора 5.2.0

Совместимость приложений с ОС

Чтобы пользователи видели в магазине только те приложения, которые точно работают на их версии ОС, а также чтобы блокировать установку несовместимых версий (даже вручную), в Аврора SDK добавлена поддержка указания минимальной версии ОС.

Содержание:

Сценарий работы

Данная функциональность работает по следующему сценарию:

  • Разработчик строит пакет приложения. Для этого перед сборкой пакета необходимо указать в Аврора SDK минимальную версии ОС.
  • Разработчик публикует приложение в магазине приложений. Бэкенд магазина читает из манифеста в пакете зависимости приложения от ОС и сохраняет их.
  • Установка приложения пользователем:
    • Через магазин приложений. Магазин приложений показывает пользователю только те приложения, которые совместимы с его устройством.
    • Из rpm-пакета. При наличии манифеста внутри пакета или в той же директории (из одного архива), пакетный менеджер проверит совместимость приложения и при невыполнении выдаст ошибку установки с описанием невыполненного требования.

Указание минимальной версии ОС

Чтобы данная опция стала доступна, во время создания нового проекта из шаблона на этапе "Описания приложения" нужно выбрать "Использовать файл манифеста". По умолчанию минимальная версия ОС — 5.2. При желании её можно изменить в данном поле:

Выбор минимальной версии ОС

Примечание. Во время валидации пакета, принимаются только версии в формате "x.y" и "x.y.z", где x, y, и z состоят только из цифр.

В результате после создания проекта в директории "Другие файлы" появится манифест — файл manifest.json:

Файл manifest.json

По умолчанию манифест имеет следующую структуру:

{
  "minOSVersion": "<version>"
}
  • minOSVersion — минимальная версия ОС (включительно), на котором приложение может быть запущено. Разработчик или SDK определяет версию, исходя из версии SDK или первой версии ОС, где доступен весь требуемый API.

После сборки проекта файл манифеста появится внутри пакетов приложений, где будет находиться данное поле, указывающее информацию о совместимости пакета с ОС и с устройством. APM не будет позволять установку пакетов, которые не совместимы с ОС или с устройством.

Примечание. Отсутствие манифеста в пакете допустимо и не приводит к ошибке или предупреждению при установке приложения.

Поддержка бэкпортов

Если функциональность была перенесена из новой версии в несколько старых (бэкпорт), можно указать список поддерживаемых версий в формате списка:

{
  "minOSVersion": ["<versionA>", "<versionB>", ...]
}

Поддерживаемые диапазоны версий в данном случае будут определяться следующим образом:

  • Для самой новой версии. Её значение является нижней границей диапазона. То есть, для версии A.B.C.D будет поддерживаться диапазон версий версия ОС ≥ A.B.C.D.
  • Для остальных версий. Границы диапазона будут определяться следующими условиями:
  • нижняя граница — начиная с указанной версии (включительно);
  • верхняя граница — до следующей мажорной версии (не включая её). То есть, для версии A.B.C.D будет поддерживаться диапазон версий A.B.C.D ≤ версия ОС < A.B.(C+1)

В качестве примера рассмотрим следующую конфигурацию:

{
  "minOSVersion": ["5.3", "5.1.6", "5.2.1.3"]
}

В результате будут совместимы следующие диапазоны версии ОС:

  1. Любые версии, начиная с 5.3 включительно (как самая высокая версия).
  2. Все версии, начиная с 5.2.1.3 включительно, но ниже 5.2.2 (по формуле для остальных версий: 5.2.1.3 ≤ версия ОС < 5.2.(1+1));
  3. Все версии, начиная с 5.1.6 включительно, но ниже 5.2 (по формуле для остальных версий: 5.1.6 ≤ версия ОС < 5.(1+1)).

Мы используем cookies для персонализации сайта и его более удобного использования. Вы можете запретить cookies в настройках браузера.

Пожалуйста ознакомьтесь с политикой использования cookies.