web-dev-qa-db-fra.com

Comment fonctionne adb Shell getprop et setprop?

Je voudrais comprendre comment adb Shell setprop mypropertykey mypropertyvalue travaux. En d'autres termes, j'ai édité le /system/build.prop fichier, mais lorsque j'essaie d'utiliser la commande getprop pour lire la valeur, il semble que j'obtienne une valeur vide à la place.

Cependant, lorsque j'ai défini la propriété via adb Shell setprop en mode racine, puis déraciner l'émulateur et lire la valeur en utilisant le code, je suis en mesure d'obtenir la valeur appropriée.

Ce que je ne comprends pas, c'est que si la valeur est définie via adb Shell setprop alors pourquoi n'est-il pas écrit dans le build.prop fichier? Alors d'où getprop lit-il les valeurs?

Les propriétés du système Android sont gérées par le spécial property_service. /system/build.prop N'est qu'un fichier sur 4-6 (selon la version) en lecture seule contenant les valeurs par défaut que property_service Utilise pour remplir sa base de données en mémoire interne lors du démarrage . Les modifications apportées aux fichiers pendant l'exécution ne se propagent donc qu'après le redémarrage.

Les commandes setprop et getprop sont utilisées pour accéder aux données de cette base de données. À moins que le nom de la propriété ne commence par persist. - la valeur est stockée dans le dossier /data/property.

11
Alex P.