我想了解adb shell setprop mypropertykey mypropertyvalue
的工作原理。换句话说,我编辑了/system/build.prop
文件,但是当我尝试使用getprop
命令来读取值时,我似乎得到了一个空白值。
但是,当我在根模式下通过adb shell setprop
设置属性然后取消模拟器并使用代码读取值时,我能够获得正确的值。
我不明白的是,如果值是通过adb shell setprop
设置的,那么为什么不将其写入build.prop
文件?那么getprop
从哪里读取值?
答案 0 :(得分:8)
Android系统属性由特殊property_service
管理。 /system/build.prop
只是4-6中的一个(取决于版本)只读文件,其中包含property_service
在启动期间用于填充其内部内存数据库的默认值。因此,在运行期间对文件的更改不会在重新启动之后传播。
setprop
和getprop
命令用于访问该数据库中的数据。除非属性名称以persist.
开头 - 否则该值将存储在/data/property
文件夹中。