android序列号怎么修改,修改Android序列号(Serial Number)
文档说明
本文档以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", sizeof("77777777"));
property_set(prop_map[i].dst_prop, tmp);
修改之后编译boot,烧录。但是串口调试log会提示:
property_set(“ro.serialno”, “99999999”) failed
给ro.serialno赋值失败。
没仔细研究property_set()函数。
代码路径和patch
bootable/bootloader/lk/app/aboot/aboot.c
device/qcom/common/rootdir/etc/init.qcom.usb.rc
下面是两个patch:
https://uploader.shimo.im/f/xXaBxqBTb9EyR6va.patch?attname=aboot.patch&download
https://uploader.shimo.im/f/f6dcm5ZeD3QY3cia.patch?attname=init.qcom.usb.rc.patch&download
android序列号怎么修改,修改Android序列号(Serial Number)相关推荐
- android获取ro._修改Android序列号(Serial Number)
文档说明 本文档以SC806-CN-00-71(msm8909平台 Android7系统)为例,描述如何修改Android Serial Number. Serial Number说明 菜单 Abou ...
- Android Studio的代码笔记--SN序列号、MAC地址、IP地址学习
关于获取设备SN序列号.MAC地址.IP地址的学习代码 SN序列号 获取SN序列号 MAC地址 获取MAC地址 IP.wlanIP.wlanMAC.网络.ping 获取以太网的IP地址 获取设备wla ...
- Android移动开发之【Android实战项目】DAY12-App实现修改密码
1.实现修改密码界面,主要是让用户在必要时修改自己的原始密码,从而保证用户信息的安全性. 2.界面效果如下:效果如下: <?xml version="1.0" encodin ...
- android 动态修改 selector,Android Selector 按下修改背景和文本颜色的实现代码
1,selector 按下修改背景和文本颜色 [1]点击改变字体颜色 - android:state_pressed(按压状态) [2]selector状态选择器(bg_btn_two (存放 res ...
- 【Android 逆向】逆向修改游戏应用 ( 分析应用结构 | 定位动态库位置 | 定位动态库中的修改点 | 修改动态库 | 重打包 )
文章目录 一.应用结构分析 二.定位动态库位置 三.定位动态库中的修改点 四.修改动态库 五.重打包 一.应用结构分析 分析上一篇博客 [Android 逆向]逆向修改游戏应用 ( APK 解析工具 ...
- android导航条高度修改,Android中修改TabLayout底部导航条Indicator长短的方法
前言 对于Tablayout相信大家都不陌生,在开发中使用的应该很频繁了,但是底部导航条长短是固定死的,需要自己来改动长短,找了半天没找着方法,看了下官方建议,可以通过映射来修改自己想要的长短,其实也 ...
- Android:Socket客户端开发,Android 的Socket客户端优化,Android非UI线程修改控件程序崩溃的问题
一.Android:Socket客户端开发 创建一个工程 我们要做的是按下按键之后,去往服务器 (服务器) 或者我们自己写的服务器 ,给他发送一些预定好的东西 然后打开操作界面 然后修改一下 你要发送 ...
- (转)[Android] 利用 ant 脚本修改项目包名
[Android] 利用 ant 脚本修改项目包名在开发android应用项目的时候,经常会有这样的需求,一个应用项目,要求 房价上半年下行 下半年或回暖 在不同的OEM下有不同的包名,不同的资源,不 ...
- AndroidStudio修改默认C盘配置文件夹(.android.gradle.AndroidStudio)以及修改后避免踩的坑
场景 AndroidStudio下载安装教程(图文教程): https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/103672471 在上 ...
- Android Settings开发之修改
版本:1.0 日期:2014.3.20 2014.3.25 版权:© 2014 kince 转载注明出处 下面是Seeings应用的截图: 可以看出这是很典型的 ...
最新文章
- UI培训教程分享:APP启动页UI界面设计
- 【小朋友才做选择题】跟着团队一起学习人工智能,先人一步掌握最前沿知识
- STL 去重 unique
- BugKuCTF WEB flag在index里
- php执行系统外部命令的四种方法
- HH SaaS电商系统的拼团系统设计
- thread安全性(写的不错)
- docker nacos mysql nginx 集群多台
- 一文看懂神经网络中的梯度下降原理 图像说明
- C# XML加载屏蔽注释 忽略注释的加载
- Sdm660--OpenCamera流程详细分析(Camera1+Hal1)
- mysql数据库性能优化—my.cnf详解
- HTML表单验证pattern
- Mysql入门【Mysql约束】
- dvwa页面打不开的原因_路由器管理页面打不开怎么办? | 192路由网
- 淘宝开放平台开发指南之熟悉API族
- is 简写 缩写_天美分析仪器研发中心(TREC)新推出高灵敏度积分球IS-2600
- 华为资深架构师耗时十年精心整理:Java高级开发需要的分布式技术
- Photoshop CS6自学(五)图片编辑
- 外推法c语言相关程序,一维搜索外推法程序设计实验报告.doc
热门文章
- 论计算机在化工过程控制中的应用,计算机在化工中的应用论文正稿.doc
- kvaser二次开发
- python界面设计实例qt_Python GUI教程(六):使用Qt设计师进行窗口布局
- 使用BIGMAP地图下载器,生成卫星地图
- 这是我的计算机房英语怎么写,小学英语人教(12版三起点)四年级下册Unit 1
- git diffmerge tool 配置
- Java-Spring Boot集成银联在线网关支付及回调处理(银联扫码等方式支付)
- PyCharm专业版的下载及安装(破解版)亲测有效
- qnx 设备驱动开发_移植LINUX的外围设备驱动到QNX系统中
- HUAWEI AC+AP设备配置