下面的方法可以保证所有上层应用读到的序列号都是固定的。若只是要求系统设置中显示的序列号为固定值,只需要修改设置应用的源代码即可,但对第三方应用无效。
diff --git a/system/core/drmservice/drmservice.c b/system/core/drmservice/drmservice.c
index 86c8e32..73fd450 100755
--- a/system/core/drmservice/drmservice.c
+++ b/system/core/drmservice/drmservice.c
[url=home.php?mod=space&uid=1999721]@@[/url] -33,7 +33,7 @@
extern int init_module(void *, unsigned long, const char *);
extern int delete_module(const char *, unsigned int);
-static char sn_buf_auto[32] = {0};
+static char sn_buf_auto[32] = "COMEONBABY";//{0};
static char sn_buf_idb[33] = {0};
static char hid_buf_idb[33] = {0};
@@ -1101,7 +1101,7 @@ int main( int argc, char *argv[] )
}
else//auto generate serialno
{
generate_device_serialno(10,sn_buf_auto);
property_set("sys.serialno", sn_buf_auto[0] ? sn_buf_auto : "");
write_serialno2kernel(sn_buf_auto);
SLOGE("auto generate serialno,serialno = %s",sn_buf_auto);
注意,此时drmservice.c中定义的SERIALNO_FROM_IDB为0(if 1 read sn from idb3; if 0 generate sn auto)。
原作者:潇然四叶草
|