Bionic code properties设置和获取的接口:
bionic/libc/include/sys/system_properties.h
bionic/libc/include/sys/_system_properties.h
bionic/libc/bionic/system_properties.c
在C code中,最终调用的是Bionic中System_Properties的实现
//system_properties初始化,与server端通过mmap共享一块只读的内存,从中根据Key得到value
//如果是只读内存,那就只能实现get,不能实现set,因此set有另外一套逻辑。
int __system_properties_init(void) {
//得到环境变量ANDROID_PROPERTY_WORKSPACE
//例如我的板子上的值 ANDROID_PROPERTY_WORKSPACE=8,49152
env = getenv("ANDROID_PROPERTY_WORKSPACE");
//第一个值为fd
fd = atoi(env);
env = strchr(env, ',');
//第二个值为size