Repository navigation
Releases: Mobilelegends74/XPL-EX
Release list
XPL-EX-NEXT v1.6.7
XPL-EX-NEXT v1.6.7
Изменения
- Добавлена динамическая область действия LSPosed: после успешного назначения хуков XPL-EX запрашивает добавление выбранного приложения. LSPosed может потребовать подтверждение.
- После удаления последнего назначения приложение удаляется из области действия. Если другие хуки остаются, область действия сохраняется.
- System Framework остаётся включённым для работы моста настроек и базы данных.
- Запросы ожидают подключения сервиса, не дублируются для уже добавленных приложений и обрабатывают позднее подтверждение после отключения хуков.
- Ошибка запроса области действия не отменяет сохранённые назначения хуков.
Реализация HankAviator, PR #11. В релиз включён исходный код автора, проверенный на OnePlus 13R с LSPosed 2.2.1; экспериментальные доработки TEST-SCOPE2 не включены.
Установка и ограничения
- Версия 1.6.7, versionCode 173. Пакет
eu.faircode.xlua, API 101, bridge-протокол 1.5.5 и постоянная подпись сохранены. - Устанавливайте поверх предыдущей версии без удаления данных. После обновления перезагрузите устройство.
- Если запрос добавления не появляется и LSPosed сообщает
Blocked by user, удерживайте XPL-EX в списке модулей LSPosed и выберите Reset scope request setting, затем повторите назначение хуков. - Запросы относятся к текущему Android-профилю. Другие профили настраивайте из их экземпляра XPL-EX или вручную в LSPosed.
- Изменение scope не выгружает уже установленные хуки из работающего процесса: перезапустите целевое приложение.
XPL-EX-NEXT v1.6.6
XPL-EX-NEXT v1.6.6
Релиз на основе проверенной пользователем сборки. Ниже — изменения относительно
опубликованной 1.6.5 (76b3901), включая последующие локальные исправления.
Верхняя панель и фильтрация
- Исправлены одинаковая высота элементов «Все» / «Ограничить», выравнивание и прозрачность контейнера поверх списка.
- Исправлены скрытие и раскрытие панели: отмена предыдущей анимации, отсутствие смещения по вертикали, закрытие popup при скрытии/уничтожении экрана.
- Выбранная группа сохраняется по идентификатору при обновлении данных и восстановлении экрана. Ограничение недоступно для «Все» и отсутствующей группы.
- Разделены представления выбранного пункта и строк popup; сохранены подсветка выбора и ограниченная высота меню.
- Поиск теперь учитывает выбранный режим приложений, включает граничный UID 10000 и не зависит от регионального регистра символов.
- Уточнено сопоставление групп с разрешениями камеры, видео, микрофона, местоположения, контактов, календаря, звонков и SMS. Проверки разрешений выполняются в фоне с кэшем; недоступный пакет не исключается ошибочно.
Стабильность списка и интерфейса
- Устранены гонки при публикации списка, изменении раскрытых групп и обновлении результатов фильтра.
- Исправлены сравнение отсутствующих подписей, equals/hashCode группы «Все» и накопление состояния раскрытия.
- Повторно используется восстановленный Fragment; сохраняются группа, состояние панели и выбранный режим навигации.
- Убираются отложенные обработчики при закрытии экрана и callbacks отменённых анимаций.
- Отложенные операции используют выбранную группу и идентичность пакета/UID, а не устаревшую позицию строки.
- Добавлены проверки недействительных позиций адаптера; сохранён накопленный признак изменений и фактическое значение переключателя автоостановки.
- Исправлены измерения вложенных списков переменной высоты и удалена ссылка на отсутствующий элемент layout.
- В выборе темы оставлены увеличенные, центрированные векторные иконки авто/светлой/тёмной темы. Геометрия сегментов, активное состояние и логика выбора сохранены; доступны описания для специальных возможностей.
Хуки и сохранение настроек
- CPUINFO: устранены исключения при отсутствующем или пустом профиле CPU. Без профиля сохраняется исходное чтение; исправление не создаёт вымышленные данные подмены.
- Батарея: устранено распаковывание null при незаданных параметрах. Сохраняются исходные значения там, где подмена не задана; исправлены расчёт/ограничение счётчика заряда и типы Integer/Long.
- Массовое сохранение точечных настроек больше не перезапускает приложение для каждого поля: остановка выполняется один раз после успешных изменений и автоактивации, если включена пользователем.
- Снимок сохраняемых значений создаётся до фоновой операции; результат сохранения не затирает более новый черновик.
- Проверка пути базы данных использует путь файла, а не каталога. Данные не сбрасываются.
- Штатное отсутствие результата запроса, назначений хуков и необязательного companion не выдаётся за ошибку выполнения хука.
- Отсутствие UI-слушателя для невидимой группы обрабатывается штатно; исправлены валидация аргументов и удаление слушателя. Реальные исключения слушателей не подавляются.
Файлы и проверки доступа
- Проверки пакетов и подписи используют полный Binder UID с учётом пользователя Android; прежние системные исключения сохранены.
- Усилена проверка путей ZIP при распаковке; корректно обрабатываются вложенные и существующие каталоги.
- Файловые потоки закрываются гарантированно; запись обрезает старое содержимое, чтение сохраняет переводы строк.
Проверки и ограничения
- Добавлены регрессионные тесты фильтрации, групп, ZIP, CPU/батареи, сохранения и уведомлений; проверяется синтаксис всех 447 Lua-файлов.
- В последних предоставленных логах Android/LSPosed сценария DevCheck нет подтверждённых новых ошибок XPL-EX: модуль загружается, первый хук выполняется, прежние исключения CPU/батареи и серии остановок не повторяются.
- Это не доказывает корректность всех хуков и всех подменённых значений. Массовое сохранение не является атомарной транзакцией.
- В проекте остаются ранее выявленные замечания Android Lint; релиз не заявляется полностью свободным от дефектов.
- Подробности: аудит, DevCheck, реестр UI.
Версия и установка
- Версия приложения и название: 1.6.6, versionCode 172 (ранее 171).
- Пакет eu.faircode.xlua, протокол Bridge 1.5.5 и постоянная подпись сохранены.
- Настройки API Xposed/LSPosed не изменены; R8 остаётся отключённым для динамических Lua/Xposed-вызовов.
- APK устанавливается поверх версии с той же подписью. После обновления перезапустите целевое приложение для загрузки обновлённого модуля.
- GitHub Actions проверяет тесты, подпись и версию APK перед автоматической публикацией обычного релиза (не Draft), APK и SHA-256.
XPL-EX-NEXT v1.6.5
XPL-EX-NEXT v1.6.5
Обновление интерфейса и плавности работы приложения.
- добавлена компактная плавающая навигация поверх списка приложений;
- навигация содержит четыре режима: пользовательские, все, хуки и системные приложения;
- верхние «Все» и «Ограничить» оформлены как согласованные Material-карточки поверх списка;
- обновлено боковое меню, переключатели и экран выбора группы;
- улучшены vector-иконки нижней панели, включая иконку режима хуков;
- список приложений получил оптимизированное кэширование, prefetch и отключение лишних
анимаций строк для более плавной прокрутки; - сохранены функциональность хуков, фильтров, профилей, LSPosed/Xposed-совместимость и
постоянная подпись приложения.
Версия 1.6.5, versionCode 171; Bridge protocol 1.5.5. Подпись сохранена прежней,
поэтому версия устанавливается поверх предыдущих релизов.
Дополнительные исправления верхней панели
- кнопки «Все» и «Ограничить» получили общую высоту, единое вертикальное выравнивание
и одинаковую геометрию карточек; - меню «Все» заменено компактным тёмным popup-меню с прокруткой, ограниченной высотой,
подсветкой выбранной группы и плавным открытием; - кнопка фильтра в верхнем Toolbar теперь скрывает и раскрывает панель «Все» /
«Ограничить», при этом выбранная группа и фильтры сохраняются; - добавлены отдельные иконки раскрытия и сворачивания панели;
- нижняя плавающая навигация и совместимость с LSPosed/Xposed сохранены.
Если после обновления обнаружится проблема, создайте новое issue с шагами воспроизведения
и логом.
XPL-EX-NEXT v1.6.4
XPL-EX-NEXT v1.6.4
Исправления поддержки рабочих профилей по issue #9:
- назначения work profile корректно загружаются и не смешиваются с user 0;
- гарантируется создание таблицы
groupsв старых базах; - defaults коллекции, темы и debug не перезаписывают настройки владельца при открытии другого профиля;
- Global Settings и hook enforcement используют глобальные значения текущего Android-профиля;
- исправлена запись профильно-зависимых настроек коллекций;
- удалено недостижимое условие определения single-app режима.
Версия 1.6.4, versionCode 169; подпись сохранена прежней для установки поверх предыдущих релизов.
Если проблемы с work profile сохранятся, создайте новое issue с шагами воспроизведения, SQLite-дампом без персональных данных и LSPosed-логом.
XPL-EX-NEXT v1.6.3
XPL-EX-NEXT v1.6.3
- Исправлены хуки
WifiInfo.getSSIDиWifiInfo.getBSSID: теперь они используют значения профиляunique.network.ssidиunique.network.bssid, а не безусловные константы. - Сохранены безопасные fallback-значения, если профиль не содержит настройки.
- Исправление относится к issue #8.
- Версия приложения:
1.6.3,versionCode 168. - Подпись сохранена прежней, поэтому релиз устанавливается поверх v1.6.2.
После установки перезапустите XPL-EX и приложения, к которым применяются хуки.
XPL-EX-NEXT v1.6.2
XPL-EX-NEXT v1.6.2
- Восстановлен приоритет сохранённого пользователем шаблона Global Context над автоматическим выбором параметров по назначенным приложению хукам. Это исправляет замечание из issue #6.
- Явно сохранённый шаблон теперь действует даже при нуле отмеченных полей: открытие настроек приложения не добавляет в него параметры хуков автоматически.
- Глобальные значения, заданные без галочки, продолжают служить общими значениями по умолчанию. Рандомизация приложения работает по отмеченным полям и не меняет глобальные значения. Например,
battery.charge.percent = 85,95можно задать один раз в Global Context и оставить без галочки. - Добавлен пункт «Удалить глобальный шаблон»: после его выбора автоматическое выделение параметров по назначенным хукам снова работает. Ранее сохранённые непустые шаблоны распознаются автоматически.
- Версия приложения и APK обновлена до
1.6.2(versionCode 167); bridge-протокол совместимости сохранён на версии1.5.5. - APK подписан тем же постоянным сертификатом, что и релизы v1.6.0–v1.6.1, поэтому устанавливается поверх них без удаления приложения.
После установки перезапустите XPL-EX. Чтобы сохранить свой набор отметок, откройте Setting Values → Save Checked → Global. Значения полей сохраняются отдельно обычной кнопкой сохранения настроек. Для применения изменений хуков к уже запущенным приложениям перезапустите эти приложения; при необходимости перезагрузите устройство.
XPL-EX-NEXT v1.6.1
XPL-EX-NEXT v1.6.1
- Исправлена работа общего профиля Universal Gaming Spoof → Подмена устройства с отключённой коллекцией
Hardware. - При включении общего профиля модуль теперь активирует обязательную коллекцию
Hardwareи назначает связанные с выбранной моделью хуки процессора, видеопроцессора, оперативной памяти и камеры. - Значения
soc.cpu.*,soc.gpu.*и других аппаратных параметров теперь появляются в профиле и сохраняются вместе с согласованнымиdevice.*иandroid.build.*. - Исправлено состояние общего переключателя: неполное назначение, оставшееся от v1.6.0, больше не отображается как полностью включённое.
- Коллекции повышенного риска
AdvancedиApplistавтоматически не включаются; их выбор по-прежнему остаётся за пользователем. - Версия приложения и APK обновлена до
1.6.1(versionCode 164); bridge-протокол совместимости сохранён на версии1.5.5. - Сохранён единый сертификат релизов, введённый в v1.6.0, поэтому APK устанавливается поверх v1.6.0 без удаления приложения.
Исправление основано на LSPosed-логе: модуль успешно загружался для целевого приложения, но при применении профиля не назначал ни одного хука коллекции Hardware и не создавал значения soc.cpu.*/soc.gpu.*.
После установки необходимо перезагрузить устройство, затем один раз выключить и снова включить Подмена устройства для приложений, настроенных в v1.6.0, чтобы дополнить старые назначения аппаратными хуками.
XPL-EX-NEXT v1.6.0
XPL-EX-NEXT v1.6.0
- Исправлены хуки
getSimOperator,getSimOperatorName,getNetworkOperatorиgetNetworkOperatorName: теперь они возвращают значения из выбранного профиля Cell, а не константы00101иunknown. - Для каждой SIM используется соответствующий индекс настроек: имя оператора берётся из
cell.operator.name, числовой код — изcell.operator.numeric.idили, при его отсутствии, собирается из MCC и MNC. - Все четыре хука объединены в отдельную группу и автоматически назначаются приложению при сохранении связанных параметров Cell; существующие назначения сохраняются, поскольку ID хуков не изменились.
- Добавлена фоновая проверка последнего релиза
Mobilelegends74/XPL-EX. При появлении более новой версии модуль предлагает скачать подписанный APK; проверка выполняется не чаще одного раза в 12 часов. - GitHub Actions переведён на единый постоянный сертификат релиза и проверяет его SHA-256 перед публикацией. Начиная с
1.6.0, следующие версии устанавливаются поверх предыдущей без удаления приложения. - Версия приложения и APK обновлена до
1.6.0(versionCode 163); bridge-протокол совместимости сохранён на версии1.5.5.
Изменение исправляет замечание из issue #5.
Важно: релиз
1.5.12был подписан одноразовым ключом CI. Android не разрешает сменить подпись установленного APK, поэтому перед первым переходом на1.6.0необходимо экспортировать настройки, удалить старую версию и установить1.6.0. Это одноразовая миграция; последующие релизы будут иметь ту же подпись.
После установки необходимо перезагрузить устройство, чтобы LSPosed загрузил новую версию во все выбранные приложения.
XPL-EX-NEXT v1.5.12
XPL-EX-NEXT v1.5.12
- Исправлено действие Edit для всех объектов в меню Hooks: нажатие снова открывает редактор выбранного хука и больше не возвращает пользователя на главный экран.
- Устранено падение формы редактора из-за несовместимости
MaterialComponents TextInputLayoutс темой родительского экранаAppCompat: редактор получил отдельный совместимый контекст темы для светлого и тёмного режимов. - Запрос на открытие редактора передаётся из строки списка в
HooksExFragment, поэтому диалог теперь привязан к жизненному циклу и навигации экрана Hooks. - Добавлена защита от повторного открытия одного и того же диалога при быстрых повторных нажатиях.
- Редактируется независимая копия хука; изменения в списке применяются только после подтверждения и успешной записи.
- Версия приложения и APK обновлена до
1.5.12(versionCode 162); bridge-протокол совместимости сохранён на версии1.5.5.
Изменение исправляет замечание из issue #4.
После установки необходимо перезагрузить устройство, чтобы LSPosed загрузил новую версию во все выбранные приложения.
XPL-EX-NEXT v1.5.11
XPL-EX-NEXT v1.5.11
- Возвращены выпадающие селекторы для параметров Settings Values, имеющих конечный набор допустимых значений.
- Все логические параметры с суффиксом
.boolснова предлагают выборTrue/False, включаяbattery.is.charging.boolиbattery.is.plugged.in.bool. - Для
battery.statusдоступны состояния Android:Charging (2),Discharging (3),Full (5),Not Charging (4)иUnknown (1). - Варианты для других параметров автоматически берутся из их специализированных option-randomizer классов.
- Ручные селекторы отделены от механизма рандомизации: выбор отдельного значения не меняет привязку к согласованному профилю реального устройства.
- Версия приложения и APK обновлена до
1.5.11(versionCode 161); bridge-протокол совместимости сохранён на версии1.5.5.
Изменение исправляет замечание из issue #3.
После установки необходимо перезагрузить устройство, чтобы LSPosed загрузил новую версию во все выбранные приложения.