对序列号模块,希望具备的功能。
- 能够溯源产品。
- 在不联网情况下,具备一定的判断是否冒牌能力。
序列号模块由两个值组成:serialnumber、cpuid。
serialnumber | cpuid | |
功能 | 易读,格式是产家自定义 | cpu唯一标识 |
存储位置 | persist.leagor.serialnumber | cpu |
如何写入 | adb shell setprop | 只读 |
示例 | aplt.nlsd.basic__C022Q2LBLVDD | 3e6368418cc05f16 |
对底盘驱动,传给aplt_create_base_slot的参数sn、cpuid分别存储着serialnumber和cpuid。
adb shell setprop persist.leagor.serialnumber aplt.nlsd.basic__C022Q2LBLVDD
如何溯源?——建议这么个使用方法。以serialnumber为关键字搜索产品库,搜到一条记录后,如果该条记录的cpuid字段是此次传下的cpuid,那这是本公司产品。该条记录是该产品信息。像出厂时间,维修记录。
上面溯源可用于判断是否假冒,但要搜索公司产品库,这意味着要联网。很多时候是没这条件的,而有时,要不连网情况下判断这产品是否冒牌。举个例子,语音识别是个收费服务,某个制造商免得用户去额外买语音服务,就默认给了个账号。这时只希望自个底盘驱动只用于自个设备。——建议这么个使用法。让自家serialnummber是个bundleid为前缀的格式,像“aplt.nlsd.basic__202506180004”,前缀是aplt.nlsd.basic这个bundleid,而且这个bundleid是自家的,一种方法主是使用底盘驱动的bundleid。
当格式是以bundleid为前缀的serialnummber,系统会要求这个bundleid必须是自家的。要是别家公司认为这bunldid在冒牌,可向商店举报。