3 votes

Comment utiliser setprop via le shell adb en récupération ?

J'ai foiré en flashant une version beta d'Android Q sur mon téléphone.

Après cela, je ne peux pas flasher ma ROM stable sans erreur 7 dans TWRP - device mismatch. La suppression de l'assert fonctionne, mais ce n'est pas une solution permanente.

Alors, j'ai fouillé dans Google et dans mon propre téléphone pendant des heures et j'ai trouvé pourquoi. Mon appareil est identifié comme raphael en cours de rétablissement, mais il est identifié comme raphaelin en fastboot et pendant que le téléphone est démarré.

En convalescence :

# getprop ro.product.device
# raphael

En mode de démarrage (c'est-à-dire lorsque le téléphone est démarré) :

# getprop ro.product.device
# raphaelin

Dans fastboot :

> fastboot getvar product
product: raphaelin

J'ai vérifié mon build.prop et la valeur dans ce fichier est raphaelin aussi. J'ai essayé setprop et il a montré qu'il ne peut pas définir cette propriété.

Alors, veuillez me conseiller sur la façon de définir la valeur en utilisant setprop en mode de récupération. Ou, si vous savez, s'il vous plaît laissez-moi savoir d'où la récupération tire les données pour getprop et si je peux changer ce fichier.

4voto

Irfan Latif Points 16863

Tout d'abord, le système d'exploitation principal d'Android (ce que vous appelez "mode de démarrage") et la récupération sont deux systèmes d'exploitation indépendants. Quand l'un est en cours d'exécution, l'autre ne l'est pas. Les processus en cours d'exécution sont différents, l'environnement est différent, les propriétés chargées sont différentes et ainsi de suite.

Le rétablissement a ses propres default.prop dans le ramdisk à partir duquel il lit les propriétés. Afin de modifier de façon permanente la valeur de ro.product.device vous devrez déballer recovery.img (oder boot.img sur Dispositifs A/B ), modifier le fichier, repacker et re-flasher.

Deuxièmement, vous ne pouvez pas mettre en lecture seule ( ro.* ) une fois qu'elles sont déjà définies. La méthode de Magisk resetprop L'outil peut cependant le faire, en s'écartant un peu du chemin.

Troisièmement, ro.product.device est généralement fixé dans /system/build.prop . Vous pouvez donc modifier ce fichier et redémarrer l'appareil pour voir les changements. Il y a aussi des autres fichiers à partir duquel les propriétés sont définies au démarrage.
Assurez-vous de ne pas casser dm-verity en modifiant /system si elle est activée.

Puisque le ( /system et autres) sont également accessibles en mode récupération, vous pouvez monter le système de fichiers en lecture/écriture en mode récupération et modifier le fichier.

Quatrièmement, la valeur que vous obtenez en fastboot est indépendant du système d'exploitation principal et de la récupération. C'est codé en dur dans le bootloader. Vous obtiendrez cette valeur même s'il n'y a pas de récupération et pas d'OS Android sur l'appareil.

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