Что именно представляет собой framework-res.apk

9

Насколько я понимаю, это большой системный файл, который, очевидно, контролирует большую часть телефона. Я заинтересован, потому что я хотел сделать некоторые темы и до сих пор я редактировал SystemUI.apk, но если я когда-либо сталкивался с какими-либо проблемами (и быть новичком, который должен был случиться), казалось бы, ничего не произошло, кроме того факта, что я потерял моя панель уведомлений.

Проблема в том, что я слышал о некоторых людях, которые коснулись framework-res.apk, и они оказались не в состоянии даже загрузить свой телефон. Я решил, прежде чем небрежно ковыряться в чем-то, что может потенциально мягко замуровать мой телефон, я хотел бы узнать немного больше об этом.

Так что же такое framework-res.apk? Для чего его используют? Что это контролирует? Где мы видим визуально его использование? Что может случиться с моим телефоном, если что-то пойдет не так с framework-res? Что-нибудь еще, что я должен знать прежде, чем сунуть нос, где это не должно быть?

Шон
источник

Ответы:

8

Framework-res.apkв основном содержит элементы графического интерфейса пользователя для телефона. Этот файл доступен по адресу /system/framework/framework-res.apk.

Нажав на этот файл, вы измените внешний вид вашего устройства. Так как это основной элемент вашего экрана, замена его напрямую путем проталкивания через ADB приведет к мягкому кирпичу. Поэтому этот apk следует аккуратно модифицировать и заменить с помощью модуля восстановления телефона.

Проверьте эту ссылку для получения подробной информации о том же: Изменение framework-res.apk (Theming the UI)

SamSPICA
источник
3

Исходя из своего опыта кодирования, я могу сказать следующее как мое понимание:

Если вы знакомы с терминологией разработки приложений, этот framework-res.apk - просто библиотека ресурсов. Продолжая это предположение, другие модули, библиотеки зависят от этого файла для получения изображений, звука и т. Д. Например, звук загрузки анимации встроен в этот файл. Каждому ресурсу обычно присваивается идентификатор при загрузке других модулей, и они просто предполагают или принимают как должное, что такой ресурс будет доступен в этом файле.

Как правило, это будет файл манифеста, который будет индексировать все ресурсы (изображения, звуки и т. Д.) По его идентификатору. Сегменты кода, которые сопоставляют ресурсы с его идентификатором и выбирают запрошенный ресурс, будут скомпилированы с одной платформой / версией / библиотекой, и, следовательно, при корректировке и перекомпиляции, если не будет сделано тщательно, framework-res.apk будет несовместим с его потребляющими модулями. В зависимости от того, как что-то реализовано, вы можете избежать ошибки, но разработчики не могут ожидать, что все проверят, и им придется воспринимать определенные вещи как должное (например, наличие ресурса, который был установлен им). Следовательно, обычно потребительский модуль зависает и, следовательно, кажется, что весь телефон зависает, так как системные модули также зависят от этого apk.

Нарайанан
источник
0

Если вы хотите изменить файл AndroidManifest.xml из framework-res.apk, я думаю, что вы должны подписать все системные apks своим собственным ключом, чтобы избежать bootloop. Если вы хотите изменить другие вещи в framework-res.apk: «чем перетаскивать папку meta-inf и androidmanifest.xml из оригинального apk в модифицированный apk, используя 7zip или winrar»

В framework-res.apk вы можете изменить некоторые идеи, например уровень защиты и т. Д., Это интересно: https://www.reddit.com/r/LineageOS/comments/9z728h/how_to_change_frameworkresapk_without_bootloop/

Мои ошибки, когда я подписываю все системные приложения с помощью своего ключа: Невозможно повторно подписать системное приложение Android без сбоя приложения (используя LineageOS)

Не удается повторно подписать системное приложение Android без сбоя приложения (с помощью LineageOS)

У него похожие проблемы, и он создал файл update.zip: /programming/9475576/resigning-system-img-on-a-device

andromade7
источник