Was genau ist frame-res.apk?

9

Soweit ich es verstehe, handelt es sich um eine große Systemdatei, die anscheinend einen großen Teil des Telefons steuert. Ich bin interessiert, weil ich ein Thema machen wollte und bisher SystemUI.apk bearbeitet hatte, aber wenn ich jemals auf Probleme stieß (und ein Anfänger war, der passieren musste), schien nichts anderes zu passieren als die Tatsache, dass ich verloren hatte meine Benachrichtigungsleiste.

Das Problem ist, ich habe von einigen Leuten gehört, die framework-res.apk berührt haben und am Ende nicht einmal in der Lage waren, ihr Telefon zu booten. Ich habe mich entschlossen, bevor ich achtlos mit etwas herumstocherte, das mein Telefon möglicherweise weich machen könnte, ein bisschen mehr darüber zu erfahren.

Was genau ist Framework-res.apk? Was wird es verwendet? Was steuert es? Wo sehen wir visuell seine Verwendung? Was könnte möglicherweise mit meinem Telefon passieren, wenn etwas mit Framework-Res nicht stimmt? Was sollte ich sonst noch wissen, bevor ich in die Nase stecke, wo es nicht sein sollte?

Sean
quelle

Antworten:

8

Framework-res.apkenthält im Wesentlichen die Elemente der grafischen Benutzeroberfläche für das Telefon. Diese Datei ist verfügbar unter /system/framework/framework-res.apk.

Das Stöbern in dieser Datei würde bedeuten, dass Sie das gesamte Erscheinungsbild Ihres Geräts ändern. Da es das Hauptelement Ihres Bildschirms ist, würde das direkte Ersetzen durch Drücken durch ADB zu Soft-Brick führen. Daher sollte diese apk sorgfältig geändert und mithilfe des Wiederherstellungsmoduls des Telefons ersetzt werden.

Überprüfen Sie diesen Link für Details dazu: Ändern der Framework-res.apk (Theming der Benutzeroberfläche)

SamSPICA
quelle
3

Aus meiner Codierungserfahrung kann ich Folgendes als mein Verständnis sagen:

Wenn Sie mit Terminologien für die Anwendungsentwicklung vertraut sind, ist diese framework-res.apk nur eine Ressourcenbibliothek. Wenn Sie diese Annahme fortsetzen, hängen andere Module und Bibliotheken von dieser Datei ab, um Bilder, Ton usw. zu erhalten. Beispielsweise ist der Sound der Startanimation in diese Datei eingebettet. Jede Ressource erhält im Allgemeinen eine Kennung, während die anderen Module geladen werden, und sie nehmen lediglich an oder nehmen an, dass diese Ressource in dieser Datei verfügbar ist.

Im Allgemeinen gibt es eine Manifestdatei, die alle Ressourcen (Bilder, Töne usw.) anhand ihrer Kennung indiziert. Die Codesegmente, die die Ressourcen ihrer Kennung zuordnen und die angeforderte Ressource abrufen, werden für eine Plattform / Version / Bibliothek kompiliert. Wenn Sie dies nicht sorgfältig anpassen und neu kompilieren, wird die Framework-res.apk mit den konsumierenden Modulen nicht kompatibel. Abhängig davon, wie die Dinge implementiert werden, würden Sie mit einem Fehler davonkommen, aber Entwickler können nicht erwarten, alles zu überprüfen, und sie müssen bestimmte Dinge als selbstverständlich betrachten (wie das Vorhandensein einer Ressource, wie sie sie gepflanzt haben). Daher friert normalerweise das konsumierende Modul ein und daher scheint das gesamte Telefon eingefroren zu sein, da auch Systemmodule von dieser apk abhängen.

Narayanan
quelle
0

Wenn Sie die AndroidManifest.xml-Datei von framework-res.apk ändern möchten, müssen Sie meiner Meinung nach alle System-Apks mit Ihrem eigenen Schlüssel signieren, um einen Bootloop zu vermeiden. Wenn Sie andere Dinge in Framework-res.apk ändern möchten: "Dann ziehen Sie den Meta-Inf-Ordner und die androidmanifest.xml mit 7zip oder winrar von der ursprünglichen apk in die modifizierte apk."

In der Framework-res.apk können Sie einige Gedanken wie Schutzstufe usw. ändern. Es ist interessant: https://www.reddit.com/r/LineageOS/comments/9z728h/how_to_change_frameworkresapk_without_bootloop/

Meine Fehler beim Signieren aller System-Apps mit meinem Schlüssel: Android-System-App kann nicht erneut signiert werden, ohne dass die App abstürzt (mit LineageOS)

Android-System-App kann nicht erneut signiert werden, ohne dass die App abstürzt (mit LineageOS)

Er hat ähnliche Probleme und hat ein update.zip erstellt: /programming/9475576/resigning-system-img-on-a-device

andromade7
quelle