Файл framework-res.apk лежит в разделе /system/framework/ каждого Android-устройства, и именно из-за его повреждения или неудачной правки телефон чаще всего уходит в bootloop — бесконечную перезагрузку на логотипе. Этот пакет содержит системные ресурсы: иконки строки состояния, анимации, цвета интерфейса, строки текста и XML-конфигурации, на которые ссылаются все остальные приложения. Прежде чем что-либо менять, нужно понимать, что framework-res.apk — это не обычное приложение, а фундамент графической оболочки системы.
В этой статье разберём, за что конкретно отвечает файл, как его безопасно извлечь, декомпилировать через Apktool, внести изменения и собрать обратно. Отдельно остановимся на типичных ошибках сборки и на том, что делать, если после замены файла устройство не загружается.
Что находится внутри framework-res.apk
По сути, это обычный APK-пакет, но без исполняемого кода в привычном смысле — его главная ценность в ресурсах. Внутри архива находятся каталоги res/drawable с изображениями, res/values с цветами, строками и размерами, res/xml с конфигурациями, а также скомпилированный файл resources.arsc — таблица соответствия идентификаторов ресурсов их значениям.
Через эти ресурсы система отрисовывает элементы, которые вы видите каждый день:
- 🎨 иконки батареи, Wi-Fi и сигнала сети в строке состояния;
- 🌈 системные цвета и стандартные темы оформления;
- 🔤 строки интерфейса — подписи кнопок, системные уведомления;
- 🎞 анимации загрузки, разблокировки и переключения окон;
- ⚙️ XML-параметры поведения: настройки вибрации, яркости, списки операторов.
Именно поэтому модификация framework-res.apk — основа темизации Android: заменив несколько PNG-файлов и значения в colors.xml, можно полностью изменить внешний вид системы без установки сторонних лаунчеров.
Как извлечь файл с устройства
Файл находится на системном разделе, который в обычном режиме смонтирован только для чтения. Самый безопасный способ получить его — скопировать через ADB, не меняя ничего на устройстве. Для этого на смартфоне включается отладка по USB, а на компьютере выполняется команда:
adb pull /system/framework/framework-res.apk
Копия сохранится в текущую папку на ПК. Обратите внимание: adb pull работает и без root-прав, потому что чтение из /system не требует повышенных привилегий — ограничения касаются записи. А вот для обратной замены файла root или кастомное recovery уже понадобятся.
Декомпиляция и редактирование через Apktool
Стандартный инструмент для работы с системными APK — Apktool. Он распаковывает ресурсы в читаемый вид: бинарные XML превращаются в обычные текстовые файлы, а resources.arsc — в набор XML-файлов со значениями. Ключевой момент: перед декомпиляцией системных пакетов нужно установить фреймворк устройства, чтобы Apktool корректно разрешил системные идентификаторы ресурсов:
apktool if framework-res.apk
apktool d framework-res.apk -o framework_src
После этого в папке framework_src появится полная структура ресурсов. Что обычно редактируют:
- 🖼 замена PNG в
res/drawable-*dpi— новые иконки и фоны; - 🎨 правка
res/values/colors.xml— системные цвета; - 📝 изменение
res/values/strings.xml— тексты интерфейса; - 🔧 корректировка XML в
res/xml— параметры поведения системы.
⚠️ Внимание: не переименовывайте и не удаляйте ресурсы, даже если они кажутся лишними. Другие системные компоненты ссылаются на них по идентификаторам, и отсутствие нужного ресурса вызовет падение системных процессов сразу после загрузки.
Сборка и подпись модифицированного пакета
Обратная сборка выполняется командой apktool b framework_src -o framework-res-mod.apk. Если на этапе сборки появляются ошибки, чаще всего причина в синтаксисе отредактированных XML: незакрытый тег, неверный символ или ссылка на несуществующий ресурс. Apktool указывает файл и строку, где произошёл сбой, — начинайте проверку именно с этого места.
Дальше есть нюанс, который многие упускают. Системный framework-res.apk не нужно подписывать заново — он проверяется системой не по подписи, а по расположению на системном разделе. Однако структура пакета должна остаться корректной: файл resources.arsc внутри APK должен храниться без сжатия, иначе система не сможет его прочитать. Apktool при сборке обычно сохраняет правильный режим хранения, но если вы перепаковываете архив вручную, это критично.
☑️ Проверка перед заменой framework-res.apk
Установка файла обратно на устройство
Запись на системный раздел требует root-доступа, а на современных версиях Android раздел /system дополнительно защищён механизмами вроде динамических разделов и верифицированной загрузки. Универсальной команды здесь нет: способ замены зависит от версии Android, наличия Magisk и конкретной модели устройства. Наиболее безопасный подход — оформить замену как модуль Magisk, который накладывает изменения поверх системы, не изменяя сам раздел. Так откат сводится к простому удалению модуля.
Прямая замена через recovery или перемонтирование раздела тоже возможна, но требует точного понимания структуры разделов вашего устройства. Сверьтесь с инструкциями именно для вашей модели на профильных форумах — например, в темах устройства на XDA Forums или 4PDA.
⚠️ Внимание: после замены framework-res.apk права доступа к файлу должны соответствовать системным (обычно владелец root, режим 0644). Неверные права — одна из самых частых причин, почему устройство не загружается даже с корректным файлом.
Типичные ошибки и их последствия
| Ошибка | Симптом | Решение |
|---|---|---|
| Битый XML после правки | Bootloop на логотипе | Вернуть оригинальный файл через recovery |
| Неверные права доступа | Система не стартует, циклическая перезагрузка | Выставить права 0644, владельца root |
| Удалён нужный ресурс | Падение SystemUI и системных приложений | Восстановить ресурс, пересобрать пакет |
| Файл от другой версии прошивки | Нестабильная работа, вылеты приложений | Использовать файл строго от своей прошивки |
| Перепаковка с сжатием resources.arsc | Система не читает ресурсы | Собрать заново через Apktool |
Отдельно стоит сказать про перенос файла между прошивками. Framework-res.apk жёстко привязан к конкретной сборке системы: идентификаторы ресурсов в нём должны совпадать с теми, на которые скомпилированы остальные компоненты. Файл от другой версии Android или чужой прошивки почти гарантированно приведёт к сбоям.
Восстановление после неудачной прошивки файла
Если устройство ушло в bootloop, паниковать рано — при живом recovery ситуация почти всегда обратима. Порядок действий зависит от того, как вы устанавливали файл. Если использовался модуль Magisk, достаточно загрузиться в safe-режиме Magisk или удалить модуль через recovery. При прямой замене файла — загрузитесь в кастомное recovery и верните сохранённый оригинал на место, либо восстановите заранее сделанный бэкап раздела.
Когда recovery отсутствует, остаётся перепрошивка устройства стоковой прошивкой через фирменную утилиту производителя. Это крайняя мера, и процедура сильно различается между брендами, поэтому заранее выясните, какой инструмент восстановления предусмотрен для вашей модели.
Почему нельзя просто удалить framework-res.apk
Без этого пакета система не сможет загрузить ни один ресурс интерфейса. Удаление файла гарантированно приводит к невозможности загрузки Android — устройство будет перезагружаться до восстановления файла или перепрошивки.
FAQ: частые вопросы о framework-res.apk
Можно ли редактировать framework-res.apk без root-прав?
Декомпилировать и изменить файл на компьютере — да, root не нужен. Но установить результат обратно на устройство без root или кастомного recovery не получится: запись на системный раздел заблокирована.
Чем framework-res.apk отличается от SystemUI.apk?
Framework-res.apk хранит базовые общесистемные ресурсы, а SystemUI.apk отвечает за конкретные элементы оболочки: панель уведомлений, шторку быстрых настроек, навигационную панель. Для глубокой темизации обычно правят оба файла.
Почему Apktool выдаёт ошибку при декомпиляции?
Чаще всего причина в отсутствии установленного фреймворка (команда apktool if) или в устаревшей версии самого Apktool, которая не поддерживает формат ресурсов новых версий Android. Обновите инструмент до актуальной версии и повторите попытку.
Безопасно ли скачивать готовый модифицированный framework-res.apk?
Рискованно. Файл должен точно соответствовать вашей прошивке, а источник — быть проверенным: системный пакет с посторонними изменениями получает доступ к глубоким уровням системы. Надёжнее модифицировать собственный файл, извлечённый с устройства.
Сотрёт ли замена файла мои данные?
Сама замена framework-res.apk пользовательские данные не затрагивает — они хранятся в разделе data. Но если дело дойдёт до перепрошивки устройства для восстановления, потеря данных возможна, поэтому резервная копия важна ещё до начала экспериментов.