“Android设备序列号修改”的版本间的差异

来自弘迪在线
跳转至: 导航搜索
(创建页面,内容为“=原理= 全志平台Android系统“关于平板电脑”中设备序列号由U-Boot中sunxi_serial环境变量记录,而U-Boot中有通过读取芯片ID或读取…”)
 
第1行: 第1行:
=原理=
+
=Android设备序列号修改=
 +
==原理==
 
全志平台Android系统“关于平板电脑”中设备序列号由U-Boot中sunxi_serial环境变量记录,而U-Boot中有通过读取芯片ID或读取特定分区内文件的方式自动设置此环境变量的代码。
 
全志平台Android系统“关于平板电脑”中设备序列号由U-Boot中sunxi_serial环境变量记录,而U-Boot中有通过读取芯片ID或读取特定分区内文件的方式自动设置此环境变量的代码。
  
=修改步骤=
+
==修改步骤==
2.1 修改FEX文件和U-Boot代码
+
===修改FEX文件和U-Boot代码===
2.1.1 启用U-Boot对序列号的支持
+
====启用U-Boot对序列号的支持====
 
修改lichee/brandy/u-boot-2014.07/include/configs/sun8iw11p1.h,取消注释#define CONFIG_SUNXI_SERIAL;
 
修改lichee/brandy/u-boot-2014.07/include/configs/sun8iw11p1.h,取消注释#define CONFIG_SUNXI_SERIAL;
2.1.2 在FEX文件中添加:
+
=====在FEX文件中添加=====
 
[serial_feature]
 
[serial_feature]
 +
 
sn_filename = "sn.txt"
 
sn_filename = "sn.txt"
  
2.2 重新编译U-Boot和打包固件
+
===重新编译U-Boot和打包固件===
2.2.1 编译U-Boot(lichee/brandy/u-boot-2014.07/):
+
可参考[[固件构建指南——环境搭建与编译步骤]]
make distclean
 
make sun8iw11p1_config
 
make -j16
 
2.2.2打包固件(android/):
 
source build/envsetup.sh
 
lunch 24
 
pack
 
  
2.3 写入/修改序列号:
+
===写入/修改序列号===
 +
====手动修改====
 
在系统启动后在Shell命令行执行:
 
在系统启动后在Shell命令行执行:
 +
 
busybox mkfs.vfat /dev/block/by-name/private
 
busybox mkfs.vfat /dev/block/by-name/private
 +
 
mkdir /sdcard/private
 
mkdir /sdcard/private
 +
 
mount /dev/block/by-name/private /sdcard/private
 
mount /dev/block/by-name/private /sdcard/private
 +
 
echo "XXXXXXXX12345678" > /sdcard/private/sn.txt
 
echo "XXXXXXXX12345678" > /sdcard/private/sn.txt
 +
 
sync
 
sync
 +
 
重启后可看到序列号变为XXXXXXXX12345678。
 
重启后可看到序列号变为XXXXXXXX12345678。
  
=说明=
+
====利用量产工具(DragonSN)批量写入====
3.1 可以将上述写入序列号的流程写成脚本,通过adb shell执行从而方便量产;
+
DragonSN是全志提供的序列号量产工具,实现原理同上文提到的一样。只是提供一个图形界面和自动化操作流程,方便目标客户量产使用。
3.2 private分区在烧录固件时不会被擦除,所以写入的序列号不会因刷机而丢失;
+
 
 +
DragonSN可在资料光盘/开发工具中下载,压缩包内有此工具的使用说明文档PDF。
 +
 
 +
==说明==
 +
1. 可以将上述写入序列号的流程写成脚本,通过adb shell执行从而方便量产;
 +
 
 +
2. private分区在烧录固件时不会被擦除,所以写入的序列号不会因刷机而丢失;

2021年12月9日 (四) 15:49的版本

Android设备序列号修改

原理

全志平台Android系统“关于平板电脑”中设备序列号由U-Boot中sunxi_serial环境变量记录,而U-Boot中有通过读取芯片ID或读取特定分区内文件的方式自动设置此环境变量的代码。

修改步骤

修改FEX文件和U-Boot代码

启用U-Boot对序列号的支持

修改lichee/brandy/u-boot-2014.07/include/configs/sun8iw11p1.h,取消注释#define CONFIG_SUNXI_SERIAL;

在FEX文件中添加

[serial_feature]

sn_filename = "sn.txt"

重新编译U-Boot和打包固件

可参考固件构建指南——环境搭建与编译步骤

写入/修改序列号

手动修改

在系统启动后在Shell命令行执行:

busybox mkfs.vfat /dev/block/by-name/private

mkdir /sdcard/private

mount /dev/block/by-name/private /sdcard/private

echo "XXXXXXXX12345678" > /sdcard/private/sn.txt

sync

重启后可看到序列号变为XXXXXXXX12345678。

利用量产工具(DragonSN)批量写入

DragonSN是全志提供的序列号量产工具,实现原理同上文提到的一样。只是提供一个图形界面和自动化操作流程,方便目标客户量产使用。

DragonSN可在资料光盘/开发工具中下载,压缩包内有此工具的使用说明文档PDF。

说明

1. 可以将上述写入序列号的流程写成脚本,通过adb shell执行从而方便量产;

2. private分区在烧录固件时不会被擦除,所以写入的序列号不会因刷机而丢失;