Android设备硬件序列号(SN、串号)分析

本文详细分析了Android设备中硬件序列号(SN)的获取过程,从源码层面跟踪了从u-boot、SystemProperties到Android系统的流程,其中关键步骤包括:通过`ro.serialno`属性,从cmdline中提取`androidboot.serialno`,再由`export_kernel_boot_props`函数映射到`ro.serialno`。此外,还介绍了如何在u-boot中设置`sunxi_serial`,并通过私有分区中的sn.txt文件验证序列号。
摘要由CSDN通过智能技术生成
Android设备硬件序列号(SN、串号)的序列号是怎么获取的,以全志A64平台来一步步跟代码分析:

在设置-》关于设备-》状态信息中,显示的信息来自android.os.Build.SERIAL,代码位于:
frameworks/base/core/java/android/os/Build.java:
public static final String SERIAL = getString(" ro.serialno ");

frameworks/base/core/java/android/os/Build.java:
private static String getString(String property) {
return SystemProperties.get(property, UNKNOWN);
}

由此可见是通过key为"ro.serialno"的SystemProperties 获取到串号的,接下来看一下ro.serialno是如何赋值的:
先看init代码system/core/init/init.c
int main(int argc, char **argv)
{
.......
property_init();

get_hardware_name(hardware, &revision);

process_kernel_cmdline ();
......

原来是从cmdline中获取的,import_kernel_cmdline把u-boot传给kernel的cmdline进行提取,然后回调import_kernel_nv进行处理
stati
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值