adb shell getprop 和 setprop 如何工作?

How does adb shell getprop and setprop work?

我想了解 adb shell setprop mypropertykey mypropertyvalue 的工作原理。换句话说,我编辑了 /system/build.prop 文件,但是当我尝试使用 getprop 命令读回值时,我似乎得到了一个空白值。

然而,当我在 root 模式下通过 adb shell setprop 设置 属性 然后取消模拟器并使用代码读取值时,我能够获得正确的值。

我不明白的是,如果该值是通过 adb shell setprop 设置的,那么为什么它没有写入 build.prop 文件?那么getprop从哪里读取值呢?

Android 系统属性由特殊 property_service 管理。 /system/build.prop 只是 4-6 个(取决于版本)只读文件中的一个,其中包含 property_service 在启动期间用于填充其内部内存数据库的默认值。因此,在 运行 时间内对文件所做的更改直到重新启动后才会传播。

setpropgetprop 命令用于访问该数据库中的数据。除非 属性 名称以 persist. 开头 - 然后该值将存储在 /data/property 文件夹中。