http://blog.csdn.net/u013686019/article/details/53239302
为了找到ro.boot.serialno的赋值位置,在源码最可能出现它的目录下比如/system/、/device/、/hardware/、/u-boot/进行搜索:
grep -rn "ro.boot.serialno"
没想到这么做已经掉入坑里了!这个属性是通过字符串拼接形成的,看下产生位置:
/system/core/init/init.c
// name: "androidboot.serialno=H201611200859"
static void import_kernel_nv(char *name, int for_emulator)
{
char *value = strchr(name, '='); // value: "=H201611200859"
int name_len = strlen(name);
if (value == 0) return;
*value++ = 0; // value: "H201611200859"
if (name_len == 0