如何修改mtk6573的设备号
使用mtk6573的时候,连接adb, eclipse, 91助手,显示的都是 0123456789ABCDEF。
这是手机的设备序号。如何获取一个能唯一标识每台Android设备的序号?
这个问题有很多答案,但是他们中的大部分只在某些情况下有效。
根据测试:
1) 所有的设备都可以返回一个 TelephonyManager.getDeviceId()
2)所有的GSM设备 (测试设备都装载有SIM卡) 可以返回一个TelephonyManager.getSimSerialNumber()
3)所有的CDMA 设备对于 getSimSerialNumber()
却返回一个空值!
4)所有添加有谷歌账户的设备可以返回一个 ANDROID_ID
5)所有的CDMA设备对于 ANDROID_ID
和 TelephonyManager.getDeviceId()
返回相同的值(只要在设置时添加了谷歌账户)
6)目前尚未测试的:没有SIM卡的GSM设备、没有添加谷歌账户的GSM设备、处于飞行模式的设备。
所以如果你想得到设备的唯一序号, TelephonyManager.getDeviceId()
就足够了。但很明显暴露了DeviceID会使一些用户不满,所以最好把这些id加密了。实际上加密后的序号仍然可以唯一的识别该设备,并且不会明显的暴露用户的特定设备,例如,使用 String.hashCode() ,结合UUID:
1
|
final TelephonyManager tm = (TelephonyManager) getBaseContext().getSystemService(Context.TELEPHONY_SERVICE);
|
2
|
|
3
|
final String tmDevice, tmSerial, tmPhone, androidId;
|
4
|
tmDevice = "" + tm.getDeviceId();
|
5
|
tmSerial = "" + tm.getSimSerialNumber();
|
6
|
androidId = "" + android.provider.Settings.Secure.getString(getContentResolver(), android.provider.Settings.Secure.ANDROID_ID);
|
7
|
|
8
|
UUID deviceUuid = new UUID(androidId.hashCode(), (( long )tmDevice.hashCode() << 32 ) | tmSerial.hashCode());
|
9
|
String uniqueId = deviceUuid.toString();
|
最后的deviceID可能是这样的结果: 00000000-54b3-e7c7-0000-000046bffd97
一般这个设备序号在这个结构体中填充的xxx_hsusb_pdata,或者
在KERNEL下搜serial_number,或者直接搜你自己的设备号
“0123456789ABCDEF“就好了 。
mtk6573请在Mt6573_devs.c (mediatek\platform\mt6573\kernel\core): memcpy(serial_number,"0123456789ABCDEF",16); 修改
如何修改mtk6573的设备号相关推荐
- 修改android设备号
1.root手机 2.修改设备号 echo 1111 > /sys/class/android_usb/android0/iSerial
- Linux字符驱动中动态分配设备号与动态生成设备节点
在编写Linux内核驱动程序的时候,如果不动态生成设备号的话,需要自己手动分配设备号,有可能你分配的设备号会与已有设备号相同而产生冲突.因此推荐自动分配设备号.使用下面的函数: int alloc_c ...
- 4412 字符类设备的设备号
一.静态申请字符类设备号 字符类设备函数在文件"include/linux/fs.h"中 内核提供了三个函数来注册一组字符设备编号,这三个函数分别是 register_chrdev ...
- linux7 绑定设备号,【Centos7】如何静态名称下绑定USB设备
问题: 有多个摄像头,需要每次设备启动,固定的摄像头的设备号都不变(video0 video1 video2 每次都对应之前的摄像头) 每个USB都有个编号,确保插入的USB不变更,或者大小顺序不变, ...
- 驱动中动态创建设备号、设备节点
在Linux驱动(三)字符设备驱动框架中,我们简要介绍了如何编写一个简单的驱动框架,并总结了步骤 1.生成设备号 2.向内核注册该设备号 3.初始化设备对象,完成操作方法集 4.向内核注册该设备对象 ...
- linux major和minor设备号
[root@n17 devices]# ls -l /dev/sda1 brw-rw---- 1 root disk 8, 1 1月 29 16:55 /dev/sda1 上述命令中,brw的b表示块 ...
- mknod用法以及主次设备号
mknod 用途 创建特殊文件. mknod Name { b | c } Major Minor 创建 FIFO(已命名的管道) mknod Name { p } 描述 mknod 命令建立一个目录 ...
- linux主设备编号从0到多少,Linux驱动开发之主设备号找驱动,次设备号找设备
一.引言 很久前接触linux驱动就知道主设备号找驱动,次设备号找设备.这句到底怎么理解呢,如何在驱动中实现呢,在介绍该实现之前先看下内核中主次设备号的管理: 二.Linux内核主次设备号的管理 Li ...
- 十四、linux 静态/动态申请字符设备号
一.静态申请 • 所在目录:include/linux/fs.h – int register_chrdev_region(dev_t from, unsigned count, const char ...
最新文章
- python 方向梯度直方图_手动绘制方向梯度直方图(HOG)
- 6-7 求链表的倒数第m个元素 (25 分)
- C++ 11 深度学习(三)范围for、new内存动态分配、nullptr
- *args, **kwargs的用法
- 类和对象(2)—— 类的封装和访问控制
- 解决ImageLoader加载HTTPS图片证书校验异常问题
- 如何使用数据库引擎优化顾问优化数据库
- 大连理工大学计算机视觉实验室,首个镜子分割网络问世,大连理工、鹏城实验室、香港城大出品 | ICCV 2019...
- scala教程(二) 函数
- Java最新面试题大全
- 不用登录就可以复制 CSDN 代码
- 95后公务员晒3004元工资引群嘲:安逸过了头,人生也就止步了
- 怎么查看ubuntu虚拟机ip地址?
- 快速搭建免费的个人网站
- Web前端设计与开发课程设计:简易淘宝网页设计
- 记一次流量分析实战——安恒科技(八月ctf)
- 变量值互换自定义函数swap()的使用
- android hid 音量,android Hid 实现注意事项
- windows常用 API函数
- HTML js实现类似于侠盗飞车的作弊码 通过按键组合在网页中埋一个彩蛋