Xposed это фреймворк, сам по себе он не добавляет никакого функционала. Для этого необходимо установить модули. С помощью раздела "Модули" в меню дается доступ к репозиторию, откуда вы можете установить и активировать их.
Для функционирования приложения необходимы root права пользователя.
В xposed расширен исполняемый файл /system/bin/app_process для загрузки JAR-файла при запуске.Его задача - запустить виртуальную машину Dalvik, загрузить необходимые для работы системные классы (окружение исполнения) и передать управление классу (на самом деле происходит обращение к сервису Zygote, который форкает уже готовую ВМ и окружение в режиме copy-on- write). Классы этого файла будут сидеть в каждом процессе (включая процесс для системных служб) и могут действовать со своими полномочиями.Также реализована возможность, которая позволяет разработчикам заменить любой метод в любом классе (будь то фреймворк, systemui или пользовательское приложение). Это делает Xposed очень мощным. Вы можете изменить параметры для вызова метода, изменить возвращаемое значение или полностью пропустить вызов метода - все зависит от вас! Также легко заменить или добавить ресурсы благодаря множеству помощников в API Xposed.
Xposed представляет собой модифицированную версию app_process, которая при запуске первым делом загружает в память специальный Java-класс - перехватчик, а лишь после него - оригинальный Java-класс (т. е. Xposed при установке заменяет app_process своим, а оригинальный переименовывает в app_process.orig; после удаления Xposed её app_process удаляется, а оригинальный возвращается на свое место). Перехватчик выступает в качестве посредника для любых вызовов Java-методов, инициированных оригинальным классом, и, в случае необходимости, перенаправляет их классу-обработчику. Последний как раз и занимается тем, что изменяет поведение системы. Например, для определения цвета текста приложения используют метод GetColor класса android.content.res.Resources. Если класс-обработчик перехватит этот метод и вернет вместо кода серого цвета код зеленого, все надписи в интерфейсе станут зелеными. Модификации могут быть и более сложными, например, когда они связаны с альтернативной реализацией сразу нескольких методов и целых классов.
В комплекте Xposed готовых классов-обработчиков нет, но она позволяет любому разработчику распространять их в виде обычных АРК-пакетов, а пользователю просто установить и активировать с помощью специального интерфейса. Другими словами, с помощью Xposed можно устанавливать и удалять модификации Android как обычные приложения, без необходимости прошивать, копировать в системный раздел, и без какого-либо риска. Не нужно декомпилировать, изменять ресурсы вручную, компилировать, подписывать; модификации будут работать на разных типах прошивок, одексированных и деодексированных, можно устанавливать несколько модификаций вместе (если только они не конфликтуют между собой), модификации легко отключаются без перепрошивки. Полная свобода действий, и этот фреймворк полностью опенсорсный.
Нет необходимости декомпилировать, изменять что-то в smali, компилировать, подписывать и т.д. Он будет работать для odexed и deodexed ROMs. Ваш мод не привязан к конкретной версии ROM. Если нет серьезных изменений в методах, вызываемых для определенной функциональности, ваш мод будет продолжать работать, даже когда вы обновите ROM. Многие модули работают для широкого спектра ПЗУ от разных производителей.
Несколько модулей могут быть установлены одновременно, даже если они изменяют одно и то же приложение. Так что вы можете использовать эти значки батареи и эти быстрые переключения. Можно даже подключить один и тот же метод дважды. Конечно, все работает правильно, только если моды не пытаются делать несовместимые вещи. Разработчики могут внедрять настройки и делать изменения на их основе (вместо того, чтобы статически принуждать к определенному поведению). Или вы можете делать дополнительную логику для определенных ROM, не создавая различные версии модов.