9 votes

Qu'est-ce que framework-res.apk exactement

Autant que je le comprends, il s'agit d'un fichier système important qui contrôle apparemment une grande partie du téléphone. Je suis intéressé parce que je voulais faire quelques thèmes et jusqu'à présent j'avais édité SystemUI.apk, mais si jamais je rencontrais des problèmes (et étant un débutant, c'était inévitable) rien ne semblait se produire à part le fait que je perdais ma barre de notifications.

Le problème est que j'ai entendu parler de gens qui ont modifié framework-res.apk et qui se sont retrouvés incapables même de démarrer leur téléphone. J'ai décidé avant de fouiller négligemment quelque chose qui pourrait potentiellement briquer mon téléphone, j'aimerais en apprendre un peu plus à ce sujet.

Alors, qu'est-ce que framework-res.apk exactement ? À quoi sert-il ? Que contrôle-t-il ? Où voyons-nous visuellement son utilisation ? Que pourrait-il potentiellement arriver à mon téléphone si quelque chose ne va pas avec framework-res ? Est-ce qu'il y a autre chose que je devrais savoir avant de mettre mon nez là où il ne devrait pas être ?

8voto

SamSPICA Points 919

Framework-res.apk contient essentiellement les éléments de l'interface graphique de votre téléphone. Ce fichier est disponible à /system/framework/framework-res.apk.

Modifier ce fichier signifierait changer complètement l'apparence de votre appareil. Étant l'élément principal de votre écran, le remplacer directement en le poussant via ADB entraînerait un "soft-brick". Par conséquent, cette apk doit être soigneusement modifiée et remplacée en utilisant le module de récupération du téléphone.

Consultez ce lien pour plus de détails : Modifier le framework-res.apk (Theming the UI)

3voto

Narayanan Points 7114

De par mon expérience en programmation, voici ce que je peux dire en fonction de ma compréhension :

Si vous êtes familier avec les terminologies de développement d'application, ce framework-res.apk n'est qu'une bibliothèque de ressources. En continuant avec cette hypothèse, d'autres modules, bibliothèques dépendent de ce fichier pour obtenir des images, des sons, etc. Par exemple, le son de l'animation de démarrage est intégré dans ce fichier. Chaque ressource se verra généralement attribuer un identifiant à travers lequel les autres modules chargeront et supposeront ou tiendront pour acquis que cette ressource sera disponible dans ce fichier.

Généralement, il y aura un fichier manifeste qui indexera toutes les ressources (images, sons, etc) en fonction de leur identifiant. Les segments de code qui associent les ressources à leur identifiant et qui récupèrent la ressource demandée seront compilés pour une plate-forme/version/bibliothèque et donc, une modification et recompilation non soigneuses rendront le framework-res.apk incompatible avec ses modules consommateurs. Selon la façon dont les choses sont mises en œuvre, vous pourriez vous en sortir avec une erreur, mais les développeurs ne peuvent pas s'attendre à vérifier tout et ils doivent tenir certaines choses pour acquises (comme la présence d'une ressource, car c'est eux qui l'ont insérée). C'est pourquoi généralement le module consommateur se fige et donc tout le téléphone semble être figé, car même les modules système dépendent de cet apk.

0voto

andromade7 Points 9

Si vous souhaitez modifier le fichier AndroidManifest.xml de framework-res.apk je pense que vous devez signer tous les apks système avec votre propre clé pour éviter le bootloop. Si vous souhaitez modifier d'autres choses dans framework-res.apk: "tirez ensuite le dossier meta-inf et androidmanifest.xml de l'apk d'origine vers l'apk modifié en utilisant 7zip ou winrar"

Dans le framework-res.apk, vous pouvez modifier certaines choses comme le protectionlevel etc. c'est intéressant: https://www.reddit.com/r/LineageOS/comments/9z728h/how_to_change_frameworkresapk_without_bootloop/

Mes erreurs lorsque je signe tous les applications système avec ma clé : Impossible de resigner une application système Android sans que l'application ne plante (en utilisant LineageOS)

Impossible de resigner une application système Android sans que l'application ne plante (en utilisant LineageOS)

Il a rencontré des problèmes similaires et a créé un fichier update.zip : https://stackoverflow.com/questions/9475576/resigning-system-img-on-a-device

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X