文档说明

本文档以SC806-CN-00-71(msm8909平台 Android7系统)为例,描述如何修改Android Serial Number。

Serial Number说明

菜单 About phone -> Status -> Serial Number,如下图所示(图是中文系统,看"序列号"):

SC806-CN-00-71默认的序列号是:12345678

通过Adb devices显示出来的设备号也是: 12345678

UI界面显示的序列号和Adb Devices显示的设备号,两者是有区别的,下面会讲到。

代码分析

Serial Number对应android系统的环境变量 ro.serialno。

查看lk的开机部分代码 bootable/bootloader/lk/app/aboot/aboot.c

下图定义了sn_buf数组,该数组是为了生成cmdline。ro.serialno的值就是通过解析cmdline得到的。

SC806-CN-00-71修改了原生的android代码,把ro.serialno写死为"12345678",并没有通过target_serialno()函数去获取。

看下图,把target_serialno调用注释掉了。

如果要更改序列号,修改sn_buf数组的初始值即可。

我们这里把它改成"77777777"试试。

编译 aboot,烧录,显示如下图所示,Serial Number已经变成了"77777777"

也可以通过cat /proc/cmdline,查看androidboot.serialno的值。

现在通过adb devices查看,还是"12345678"

如果要修改adb devices设备号,修改device/qcom/common/rootdir/etc/init.qcom.usb.rc,不要写死为"12345678",改成从ro.serialno获取。

编译boot,烧录。

遗留问题

从代码上分析,修改 system/core/init/init.cpp应该也可以改掉ro.serialno的值。

在for循环之后,添加了

strlcpy(tmp, "77777777

android获取ro._修改Android序列号(Serial Number)相关推荐

  1. android获取ro._怎么去获取现成机器的ro.hardware值

    硬件抽象层模块文件的命名规范定义在hardware/libhardware/hardware.c文件中,如下所示. hardware/libhardware/hardware.c 01 /** 02  ...

  2. android获取ro._抖音数据采集教程,Android群控黑盒调用,Sekiro使用手册

    抖音数据采集教程,Android群控黑盒调用,Sekiro使用手册 0x0 前言 之前尝试用过virjar大佬的hermesagent, 后来大佬又迭代出新的基于长链接的Sekiro, 一直想看都被耽 ...

  3. android子view获取父布局,Android获取布局父ID(Android get layout parent id)

    Android获取布局父ID(Android get layout parent id) 我想知道View和ViewParent有什么区别? 我想获取ImageView父级的Id,但我不能这样做: m ...

  4. Android Studio(五):修改Android Studio项目包名

    Android Studio相关博客: Android Studio(一):介绍.安装.配置 Android Studio(二):快捷键设置.插件安装 Android Studio(三):设置Andr ...

  5. android获取电池信息;android获取电池容量、技术、电压、电量、温度等信息

    android获取电池信息:android获取电池容量.技术.电压.电量.温度等信息 1.这里我仅展示工具类,需要注意的是这里的部分值要刷新后才能显示,添加刷新UI的方法即可,而且电量温度等都是变化的 ...

  6. android获取GPU信息;android获取GPU渲染器、供应商、版本和扩展名等信息

    android获取GPU信息:android获取GPU渲染器.供应商.版本和扩展名等信息 效果: 1.布局文件 <?xml version="1.0" encoding=&q ...

  7. Android获取实况天气接口, android获取实时天气预报代码

    Android获取实况天气接口, android获取实时天气预报代码 天气API的免费接口, 不需要注册key, 访问url直接返回json数据 1 调用的接口 url https://www.tia ...

  8. 安卓java修改热点_修改Android源码实现连接指定BSSID的热点

    1 概述 需要实现一个需求,Android手机A发射热点,获取BSSID,发送到另一台Android设备,在环境中存在多个同样SSID和密码的情况下,设备只会连接手机A. 1.1 概念 服务集识别码( ...

  9. 修改sh文件_修改Android分区大小

    文档说明 本文档以SC826-CN-01(MSM8953平台)为例,描述如何修改Android系统的Cache分区大小. 默认代码Cache分区大小为256M,下面我们修改为512M. 相关文件路径 ...

最新文章

  1. MATLAB从入门到精通:基本矩阵运算-矩阵的基本方法和函数
  2. c语言练习书,谁有C语言入门的练习题?
  3. mysql二进制日志文件结构_MySQL 二进制日志的结构
  4. python安装dlib要cmake,如何使用cmake解决dlib错误?
  5. SpringMVC框架搭建的步骤
  6. 人生永无止境的意思是什么_《永无止境》中艾迪真的成功改进了NZT吗?
  7. Hudson 之旅(二)
  8. error C2440: “<function-style-cast>”: 无法从“IplImage *”转换为“cv::Mat”
  9. MentoHUST讲解教程(锐捷破解)
  10. 小白能读懂的 《手把手教你学DSP(TMS320X281X)》第二章(1) 2020-12-21
  11. 手机支付需厘清六大关键问题
  12. 毕业找工作 送给大家一些漂亮的个人简历模板
  13. WebRTC-NACK、Pacer和拥塞控制和FEC
  14. 突然就看懂了《大话西游》
  15. 第三方SDK接入--微信
  16. Plugin JavaDoc was not installed: Cannot download 'https://plugins.jetbrains.com/pluginManager/?acti
  17. Excel多条件求和 SUMPRODUCT函数用法详解
  18. c# 傅里叶变换 频域_C# 傅里叶变换 逆变换 调用MathNet包
  19. 滴滴云部署 Hadoop2.7.7+Hive2.3.4
  20. Self-Attention与Transformer

热门文章

  1. 小白也可以玩转的炫酷大屏!
  2. 一些Chrome 调试小技巧汇总
  3. spring boot之session的创建,销毁,超时,监听等等小结
  4. Freemarker常用技巧
  5. Kmeans CUDA
  6. Google 超分辨率技术 RAISR
  7. 【KERAS/直方图均衡化】图像数据集扩充
  8. Hadoop--MapReduce_Hadoop序列化
  9. Socket IO与NIO(三)
  10. 《数学与泛型编程:高效编程的奥秘》一1.4 各章概述