Архив метки: Android Q

APEX станет главным нововведением Android Q. Что это такое?

Android Q покажут, как обычно, на Googe I/O. Уже сейчас известно, что в систему встроят полноценную темную тему, а все стандартные приложения компании к моменту выхода новой версии Android будут обновлены под данное нововведение. Однако тёмная тема — не главное в Android Q. APEX – вот, что может по своей глобальности соответствовать Project Treble.

Что же такое APEX?

Для Android экосистема APEX является чем-то новым, но не в случае с Linux-дистрибутивами. Суть APEX заключается в возможности точечного обновления библиотек системы, в Linux так и происходит. Можно обновить ядро, оставив при этом среду рабочего стола GNOME нетронутой. Android не позволяет отдельно обновить библиотеку (для этого необходимо выпускать обновление всей системы), так как раздел с системными библиотеками и фреймворками не имеет прав на запись (read-only), в Linux же используется раздел с правами на чтение и запись.

Что такое библиотека?

Это заранее скомпилированный код, который может быть использован другими программами. В них хранятся общие методы классов, к которым обращаются Android-приложения. Библиотеки уменьшают размер APK-файлов приложений, так как некоторая функциональность уже бывает заложена в методах и не требует повторной реализации в каждом отдельном приложении. Библиотеки хранятся в папке /system/lib и /system/lib64. Их, как уже говорилось выше, нельзя обновить отдельно от всей системы, но APEX решает проблему.

С появлением APEX в Android Q обновление библиотек будет похоже на обновление обычных приложений

В Android используется файл ld.config.txt, в котором прописаны пути к папкам с библиотеками. Этот файл нельзя изменять, что являлось проблемой для APEX. Google решила её путем размещения в APEX-пакетах локальных файлов ld.config.txt, в которых прописаны пути к дополнительным и обновленным библиотекам.
В настоящее время компания работает над созданием C-интерфейса между APEX-пакетами, так как библиотеки (даже обновленные) должны иметь интерфейсы для взаимодействия друг с другом по общему протоколу.

Какова цель?

Google таким образом пытается создать базовые APEX-библиотеки, которые будут обновляться без необходимости выпуска глобального обновления. Это может касаться даже обновлений безопасности, необходимость в которых пропадёт с появлением APEX-пакетов.

Подписывайтесь на нас в Yandex Zen, там мы публикуем эксклюзивные новости.

Источник