Что такое xposed framework
Xposed Framework — зачем это нужно и с чем это едят
Фанаты различных мобильных операционных систем частенько устраивают «стычки» на форумах, пытаясь доказать, что их выбор — самый лучший. Android — операционную систему от Google — часто обвиняли в плохой оптимизации под железо, «мусор» в магазине приложений и «прожорливости» по отношению к ресурсам аккумулятора — но никто никогда не оспаривал статус Android как свободной для модификаций и открытой для разработчиков операционной системы.
За всё время её существования сообщество сгенерировало огромную массу различных модификаций — от простого модифицированного SystemUI до полноценного проекта по созданию идеальной прошивки. Но самым известным продуктом можно назвать Xposed Framework — действительно необычную разработку под Android.
С момента своего «зарождения» ещё во времена, когда Android украшал лишь блёклый Holo, а Root можно было получить одним кликом, прошло уже много времени. Xposed встретил на своём пути немало препятствий: обновления Android, смену виртуальной машины, повышение общего уровня защиты ОС — но это не смогло сломить проект на его пути и не мешает ему до сих пор.
Принцип работы
Перед тем, как установить и использовать этот замечательный продукт, стоит понять принцип работы самого Xposed Framework и понять главное: он взаимодействует с системой на очень глубоком уровне, и его использование без должных знаний может нанести вред вашему устройству.
В операционной системе Android существует процесс под названием «Зигота» (англ. «Zygote») — если погуглить, что это такое и разобраться с кучей непонятных научных терминов, то можно предположить, что этот процесс постоянно порождает себе подобных — так и есть. «Zygote» — это своеобразное сердце виртуальной машины Android, по подобию которого создаются другие процессы в нашей любимой операционной системе, поэтому «зигота» начинает своё существование ещё во время загрузки устройства. Отвечает за это скрипт «/init.rc».
Каждый новый процесс создаётся по подобию «зиготы» и приводятся в действие благодаря «system/app_process», с помощью которого запускаются все методы и классы, предусмотренные разработчиком. И здесь в игру вступает Xposed: он заменяет стоковый файл «app_process» на свой собственный модифицированный. Здесь дополнительно подключается ещё один jar-файл, который подсоединяется к classpath, и вызывает некоторые методы или классы. И ещё до метода «main» «зиготы», что, говоря простым языком, является отправной точкой процесса, мы имеем доступ ко всему содержимому процесса.
Возможности, предоставляемые Xposed, можно получить с помощью набора XposedBridge API, который находится в открытом доступе на GitHub. К API прилагаются весьма подробные гайды, которые помогут разобраться с основными методами и классами.
Сам Xposed не несёт никакой дополнительной функции кроме своей основной — обеспечения доступа к app_process. Но так называемые модули, которые были созданы с использованием XposedBridge, могут выполнять самые разнообразные действия. Например, смена цвета часов на информационной панели. Или обход защиты банковского приложения — всё зависит от ваших пожеланий. Сегодня вы научитесь устанавливать Xposed Framework и любые интересующие вас дополнительные модули.
Установка Xposed
Нам потребуется:
Устройство с Android 4.0.3 и выше;
S-OFF (для устройств HTC);
FlashFire (для смартфонов с Android 5.0 и выше);
Что такое xposed framework
Новые темы необходимо создавать только в корневом разделе! В дальнейшем они будут обработаны модераторами.
Если Вы выложили новую версию программы, пожалуйста, сообщите об этом модератору нажав на вашем сообщении кнопку «Жалоба».
Последнее обновление программы в шапке: 27.01.2018
Для функционирования программы необходимы права root пользователя.
Краткое описание: системная программа для изменения настроек прошивок и приложений без их декомпиляции.
Заявку на перевод описания оставил, а пока знатоки не подоспели попробую кратко объяснить что и как со всем этим делать по-русски.
Итак, скачиваем и устанавливаем XposedInstaller_2.1.1.apk
Пара слов по поводу модуля Xposed App Settings. После его установки и включения на вкладке MODULES и перезагрузки идем в меню приложений и находим там появившийся ярлык для этого модуля. Открываем и видим список приложений. Тапаем на том, настройки которого Вы хотите изменить. Меняем, сохраняем дискетой вверху, выходим из приложения и перезагружаемся.
Добавлено 28.01.2013, 23:18:
К каждому нет смысла, да и не получится у меня, т.к., к примеру, модуль, добавляющий кнопку записи вызовов в звонилку у меня не работает (скорее всего требуется стоковая прошивка или кастом на стоке). Однако могу показать на скриншотах настройку модуля Xposed App Settings.
Итак, после его установки и включения (см. мой предыдущий пост как это сделать) мы его открываем и видим такое вот меню
Не забываем, что некоторые модули будут работать только на стоковых прошивках и кастомах на их основе. Другие привязаны к планшетам и планшетоподным девайсам. Узнать, будет или нет модуль работать у Вас можно просто. После установки модуля открываем приложение Xposed Installer, идем в список модулей и не отмечая галкой интересующий нас модуль жмем на него. Если появится надпись «This module does not provide a user interface» то модуль скорее всего работать не будет или будет, но кривовато. Хотя тут возможны варианты. Например, на стоковом dpi модуль работать не будет, а в режиме планшета будет.
PS Еще пара слов о настройке разрешений приложений на примере стокового браузера.
Xposed — улучшаем смартфон без перепрошивки
Даже «из коробки» Android даёт пользователю немало возможностей по кастомизации, но иногда хочется большего. На радикальные эксперименты со своим смартфоном готовы далеко не все, однако создать интерфейс своей мечты можно и без перепрошивки устройства. Поможет в этом программа для тюнинга системы Xposed. Среди прочего, она позволит уменьшить энергопотребление гаджета, активировать пробуждение двойным тапом, управлять камерой и плеером аппаратными клавишами, проигрывать видео с YouTube в фоне, усовершенствовать MIUI или другую фирменную оболочку.
Что такое Xposed?
Xposed — это фреймворк, то есть, «каркас», для работы специальных приложений-модулей. Они предназначены для модификации системных файлов и стороннего ПО. Чтобы фреймворк мог обеспечить работу модулей и управлять ими, его необходимо сделать системным приложением с повышенными привилегиями. Как несложно догадаться, для этого вам потребуются права суперпользователя.
Как и root, Xposed может быть несистемным, то есть, устанавливаться не в системный раздел устройства, а в специально выделенный. Главное преимущество такого подхода — неизменный системный раздел и его контрольная сумма, что даёт возможность получения и установки OTA-обновлений. Возможность использования несистемного root-доступа на конкретном смартфоне можно проверить на форуме в разделе прошивок, а дополнительные сведения о несистемном Xposed и возможности его использования на различных устройствах — почерпнуть в теме, посвящённой непосредственно фреймворку.
Полезные ссылки по теме:
Что умеет Xposed
А умеет Xposed практически всё, на что хватает фантазии разработчиков: для фреймворка существуют сотни модулей с самым разным предназначением. Мы приведём в качестве примеров несколько ярких и полезных возможностей Xposed.
Экономия заряда батареи. В одной из статей мы рассказывали, как wakelock’и влияют на расход заряда батареи и предложили способ их отключения без root-доступа. Однако если он у вас есть, вы можете поставить модуль Amplify Battery Extender для Xposed, который проанализирует все wakelock’и и будет ограничивать их активность автоматически — ему не требуется абсолютно никаких настроек.
Переназначение кнопок. Хотите переключать треки качелькой регулировки громкости? Или назначить собственное действие на клавишу с фирменной функцией, например, Bixby в новых флагманах Samsung? С этим справится модуль Xposed Additions Pro, который не только позволяет настроить своё действие для короткого и длинного нажатия любой клавиши (включая сенсорные кнопки навигации), но и поддерживает три условия для их работы: при включённом и выключенном дисплее, а также на экране блокировки. То есть, одна и та же клавиша может выполнять разные действия в зависимости от того, заблокирован гаджет или нет.
Блокировка звонков и SMS. Конечно, существуют программы для блокировки звонков, которые не требуют прав суперпользователя, но модуль Blacklist для Xposed выгодно отличается тем, что перехватывает вызовы и сообщения ещё до их обработки стандартными приложениями. Это значит, что вы не услышите даже короткого звука вызова и не увидите никаких всплывающих окон. Blacklist поддерживает работу с чёрными и белыми списками и имеет гибкие настройки фильтрации звонков.
Свайпы на выключенном экране. Некоторые смартфоны «из коробки» поддерживают функцию разблокировки двойным тапом и запуск разных программ свайпами по заблокированному экрану, но если ваш гаджет не в их числе, вы всегда можете «научить» его этому с помощью модуля Wake Gestures. Для его работы, правда, нужна поддержка этой возможности ядром — если модуль после запуска сообщит о том, что её нет, вам придётся найти альтернативную прошивку с подходящим ядром.
Тюнинг внешнего вида системы. Существуют десятки модулей Xposed, позволяющих так или иначе изменить внешний вид системы. Чаще всего их функциональность ограничена — например, изменением только панели уведомлений или экрана блокировки. Но есть и настоящие монстры, позволяющие изменить практически каждый элемент системы, один из таких модулей — GravityBox.
Среди возможностей GravityBox — тонкая настройка внешнего вида и поведения различных системных элементов: экрана блокировки, строки состояния, панели уведомлений, навигационной панели и множества других. С помощью GravityBox вы можете использовать подсветку сенсорных кнопок навигации в качестве индикатора уведомлений, добавить в панель навигации кнопки управления курсором при активной клавиатуре или настроить отображении фотографии звонящего на весь экран. Полное изучение настроек GravityBox может занять немало времени, но результат того стоит.
Тюнинг фирменных оболочек. Несмотря на то, что большинство модулей Xposed требуют для работы «чистый» Android, некоторые, напротив, предназначены для работы с фирменными оболочками производителей, например, с MIUI. Модуль ExtMIUI, разработанный, между прочим, с помощью пользователей нашего форума, имеет множество настроек, позволяющих расширить функциональность и изменить внешний вид фирменных прошивок Xiaomi.
Работа YouTube в фоне. Модули Xposed могут добавлять полезные возможности не только в систему, но и в сторонние приложения. Один из наиболее полезных таких модулей — YouTube Background Playback, позволяющий проигрывать видео в фоне. У модуля нет не только настроек, но и даже иконки в панели приложений, однако после его установки YouTube будет считать, что у вас есть подписка YouTube Red, и даст возможность проигрывать видео не только в фоновом режиме, но и когда смартфон заблокирован.
Что нужно знать перед установкой Xposed
Некоторые приложения перестанут работать. Несмотря на создание огромного числа новых возможностей, фреймворк приносит и некоторые ограничения. Часть прямо вытекает из необходимости получения прав суперпользователя: единожды сделав это, вы лишитесь возможности использовать Samsung Pay и Android Pay, а также потеряете часть функциональности сторонних программ, например, клиента Сбербанка. Возможны проблемы и с функционированием другого ПО, в том числе сервисов Яндекса.
Возможны «бутлупы» и зависания. Поскольку Xposed вносит изменения глубоко в систему, а Android — достаточно фрагментированная ОС, проблемы могут начаться уже при установке фреймворка. Больше всего повезло владельцам смартфонов с «чистым» Android, их шансы столкнуться с проблемами минимальны. Но если у вас гаджет от Samsung, Xiaomi или Huawei, которые активно используют собственные оболочки, выбор неправильной версии Xposed может привести к «бутлупу» — зависанию гаджета на этапе загрузки. Это, впрочем, не критическая проблема, ниже мы расскажем, как с помощью Nandroid-бэкапа вернуть устройство к жизни за пару минут.
Правильная работа Xposed и модулей зависит от прошивки. Работоспособность конкретного модуля Xposed тоже варьируется не только от устройства к устройству, но и от прошивки к прошивке. Перед установкой фреймворка важно уточнить, какая именно версия Xposed работает с конкретным устройством и прошивкой, особенно если у вас установлена кастомизированная версия Android. Неподдерживаемый модуль может привести к зависанию гаджета. Как и в предыдущем случае, выручит Nandroid-бэкап.
Удалять Xposed нужно правильно. Если вы решите отказаться от Xposed, удалять его тоже нужно правильно. Как минимум — воспользоваться специальной кнопкой в интерфейсе приложения, а в некоторых случаях может потребоваться прошивка специального zip-файла через recovery.
Подготовка к установке Xposed
Если вы решили установить Xposed на свой гаджет, первым шагом должно стать получение прав суперпользователя. Универсального метода нет, но найти пошаговую инструкцию почти для любого смартфона вы можете на нашем форуме в теме, посвящённой прошивке вашего аппарата.
Второй шаг — установка стороннего recovery. Это нужно для создания так называемого Nandroid-бэкапа, то есть полной резервной копии всей системы в одном архиве. Инструкции по установке recovery можно найти там же, в теме прошивки смартфона.
Наконец, третий шаг — непосредственно создание бэкапа. Не сделав его, вы рискуете потерять все настройки и данные в случае, если установка Xposed или одного из модулей приведёт к зависанию системы.
Если что-то пошло не так, нужно перезагрузиться в режиме восстановления. Обычно для этого необходимо при включении смартфона удерживать кнопку уменьшения или увеличения громкости. Зайдя в «рекавери», первым делом необходимо очистить накопитель от остатков нерабочей системы — сделать Wipe. После этого вернитесь в главное меню и нажмите на Restore (для TWRP) или Backup and restore (для CWM). Вне зависимости от того, какой recovery вы используете, дальнейшие действия будут интуитивно понятны: вам необходимо выбрать архив с резервной копией и подтвердить действие. Если бэкапа нет, после сброса (Wipe) вы можете через «рекавери» установить на смартфон ту же самую или другую прошивку, поставляемую в виде zip-файла.
Полезные ссылки по теме:
Установка и использование Xposed
Установка фреймворка. Если на вашем смартфоне установлен «чистый» Android с минимумом изменений, вам повезло. В большинстве случаев достаточно установить официальную версию Xposed Installer в виде apk-файла и нажать пару кнопок в его интерфейсе для установки фреймворка в систему. Обязательно убедитесь в том, что инсталлятор соответствует архитектуре процессора вашего гаджета и версии операционной системы.
В том случае, если ваш гаджет работает на кастомизированной версии Android, например, Samsung Experience, MIUI, EMUI, Flyme OS или подобных, вам потребуется специальная версия Xposed — ссылки на модификации расположены в шапке темы на форуме, посвящённой фреймворку. Однако перед установкой не помешает уточнить в теме обсуждения или прошивки вашего аппарата, какая именно версия Xposed работает с ним без проблем.
Установка модулей. Что касается модулей, то немалая их часть уже есть в каталоге Xposed Installer, где для загрузки и установки достаточно нажать одну кнопку. Множество дополнительных модулей находятся в свободном доступе в Google Play — их несложно найти, введя название фреймворка в строку поиска.
Наконец, некоторые модули вроде GravityBox распространяются только сайтах разработчиков или специализированных ресурсах. На нашем форуме тоже есть обширный каталог, который содержит больше 150 модулей для Xposed с описаниями их функциональности.
Напоследок дадим несколько советов по использованию Xposed, которые помогут минимизировать риск вывести устройство из строя:
Полезные ссылки по теме:
Заключение
Xposed нельзя назвать простым способом, особенно если вы используете прошивки со сторонними оболочками. Но наградой становится глубокий тюнинг, новые возможности для всей системы и отдельных приложений. Не случайно же фреймворк настолько популярен: для него написаны сотни самых разнообразных модулей. Чтобы возможные неполадки при установка Xposed не стали для вас проблемой — предварительно делайте резервные копии. Nandroid-бэкап можно восстановить буквально парой нажатий в recovery, и, если он у вас есть, можете смело экспериментировать.
Что такое xposed framework
Влияет ли Xposed со своими модулями на автономность девайса, ускоряет расход батареи?
А как они относятся к оперативной памяти?
А на скорость работы влияют? Замедление работы/загрузки системы/какие-либо глюки и конфликты возможны?
Почему Xposed нет в Google Play?
✔ Потому что её разработчик против этого, а Google против утилит, изменяющих ОС и другие приложения на столь глубоком уровне, так что Xposed в GP в любом случае долго б не продержалась.
Структура официального приложения Xposed Installer 2.x.x-3.0 alpha4
Структура модифицированных версий Xposed Installer может быть иной.
А не опасно ставить такую программу, получающую доступ ко всем функциям системы?
2. Требования к установке.
А для Xposed есть разница, odex или deodex целевая прошивка? Нужно ли деодексировать прошивку, чтобы установить Xposed?
В чем различие между официальным Xposed Installer v3.1.x и Material Design Xposed Installer от dvdandroid? Что лучше выбрать?
✔ В моде от dvdandroid больший функционал, он позволяет ставить фреймворк на Android 4.1-4.4 и выбирать между разными сборками фреймворка для Android 5+. Оф. Xposed Installer v3.1.x создан на его основе, но пока не обладает всем его функционалом.
Как понять, какую версию Xposed ставить?
Если не работает выбранная версия Xposed, можете попробовать более старую сборку или версию от другого автора (если она доступна для вашего девайса).
Как мне понять, какой zip-архив качать?
Так какую сборку Xposed ставить на девайс с обычным 32-битным процессором (ARMv7) и 32-битной прошивкой?
А для 64-битных процессоров (ARMv8) и прошивок Xposed есть?
А с процессорами архитектуры x86 (процессоры Intel, AMD) Xposed совместим?
✔ Да, начиная с версии 2.4.1. Если у вас Android 5+, ищите сборки фреймворка (zip-архивы) с пометкой «x86». Для девайсов с Intel Atom x5 Z8300 используйте мод. Xposed.
Если у вас Android 6+, несистемный рут и вы хотите и Xposed сделать несистемным, читайте ниже п. 2ж.
На моей прошивке установлен несистемный рут (systemless root). Я могу и Xposed поставить не в системный раздел, чтобы спокойно получать ОТА-обновления прошивки?
У меня установлен Magisk и, соответственно, несистемный рут MagiskSU. Какой Xposed с ним работает?
С моим девайсом не случится ничего плохого после установки Xposed?
✔ 99%, что нет, если вы внимательно читаете FAQ, описания ее сборок и модулей, смотрите, что именно ставите и как, и обязательно предварительно делаете нандроид-бэкап. В противном случае наверняка случится и придется перепрошиваться.
Какие есть аналоги Xposed помимо WSM Tools? Какие доступны альтернативы, если Xposed/WSM мне не помогли?
Кроме того, она изначально не поддерживает модули, изменяющие ресурсы прошивки.
То есть для Android 4.4.x KitKat с включенной средой ART вообще нет и не будет никаких вариантов?
✔ Мод от vladykodi работает так же, как «родная» оболочка, там просто изменена цветовая схема интерфейса. В моде от dvdandroid уже серьезно изменен функционал (добавлено много новых опций), однако этот мод постоянно обновляется и на его основе даже собран официальный Xposed Installer 3.1.x, так что ставить этот мод можно без всякой опаски.
Что такое xposed framework
Новые темы необходимо создавать только в корневом разделе! В дальнейшем они будут обработаны модераторами.
Если Вы выложили новую версию программы, пожалуйста, сообщите об этом модератору нажав на вашем сообщении кнопку «Жалоба».
Последнее обновление программы в шапке: 27.01.2018
Для функционирования программы необходимы права root пользователя.
Краткое описание: системная программа для изменения настроек прошивок и приложений без их декомпиляции.
Заявку на перевод описания оставил, а пока знатоки не подоспели попробую кратко объяснить что и как со всем этим делать по-русски.
Итак, скачиваем и устанавливаем XposedInstaller_2.1.1.apk
Пара слов по поводу модуля Xposed App Settings. После его установки и включения на вкладке MODULES и перезагрузки идем в меню приложений и находим там появившийся ярлык для этого модуля. Открываем и видим список приложений. Тапаем на том, настройки которого Вы хотите изменить. Меняем, сохраняем дискетой вверху, выходим из приложения и перезагружаемся.
Добавлено 28.01.2013, 23:18:
К каждому нет смысла, да и не получится у меня, т.к., к примеру, модуль, добавляющий кнопку записи вызовов в звонилку у меня не работает (скорее всего требуется стоковая прошивка или кастом на стоке). Однако могу показать на скриншотах настройку модуля Xposed App Settings.
Итак, после его установки и включения (см. мой предыдущий пост как это сделать) мы его открываем и видим такое вот меню
Не забываем, что некоторые модули будут работать только на стоковых прошивках и кастомах на их основе. Другие привязаны к планшетам и планшетоподным девайсам. Узнать, будет или нет модуль работать у Вас можно просто. После установки модуля открываем приложение Xposed Installer, идем в список модулей и не отмечая галкой интересующий нас модуль жмем на него. Если появится надпись «This module does not provide a user interface» то модуль скорее всего работать не будет или будет, но кривовато. Хотя тут возможны варианты. Например, на стоковом dpi модуль работать не будет, а в режиме планшета будет.
PS Еще пара слов о настройке разрешений приложений на примере стокового браузера.