使用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的设备号相关推荐

  1. 修改android设备号

    1.root手机 2.修改设备号 echo 1111 > /sys/class/android_usb/android0/iSerial

  2. Linux字符驱动中动态分配设备号与动态生成设备节点

    在编写Linux内核驱动程序的时候,如果不动态生成设备号的话,需要自己手动分配设备号,有可能你分配的设备号会与已有设备号相同而产生冲突.因此推荐自动分配设备号.使用下面的函数: int alloc_c ...

  3. 4412 字符类设备的设备号

    一.静态申请字符类设备号 字符类设备函数在文件"include/linux/fs.h"中 内核提供了三个函数来注册一组字符设备编号,这三个函数分别是 register_chrdev ...

  4. linux7 绑定设备号,【Centos7】如何静态名称下绑定USB设备

    问题: 有多个摄像头,需要每次设备启动,固定的摄像头的设备号都不变(video0 video1 video2 每次都对应之前的摄像头) 每个USB都有个编号,确保插入的USB不变更,或者大小顺序不变, ...

  5. 驱动中动态创建设备号、设备节点

    在Linux驱动(三)字符设备驱动框架中,我们简要介绍了如何编写一个简单的驱动框架,并总结了步骤 1.生成设备号 2.向内核注册该设备号 3.初始化设备对象,完成操作方法集 4.向内核注册该设备对象 ...

  6. 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表示块 ...

  7. mknod用法以及主次设备号

    mknod 用途 创建特殊文件. mknod Name { b | c } Major Minor 创建 FIFO(已命名的管道) mknod Name { p } 描述 mknod 命令建立一个目录 ...

  8. linux主设备编号从0到多少,Linux驱动开发之主设备号找驱动,次设备号找设备

    一.引言 很久前接触linux驱动就知道主设备号找驱动,次设备号找设备.这句到底怎么理解呢,如何在驱动中实现呢,在介绍该实现之前先看下内核中主次设备号的管理: 二.Linux内核主次设备号的管理 Li ...

  9. 十四、linux 静态/动态申请字符设备号

    一.静态申请 • 所在目录:include/linux/fs.h – int register_chrdev_region(dev_t from, unsigned count, const char ...

最新文章

  1. python 方向梯度直方图_手动绘制方向梯度直方图(HOG)
  2. 6-7 求链表的倒数第m个元素 (25 分)
  3. C++ 11 深度学习(三)范围for、new内存动态分配、nullptr
  4. *args, **kwargs的用法
  5. 类和对象(2)—— 类的封装和访问控制
  6. 解决ImageLoader加载HTTPS图片证书校验异常问题
  7. 如何使用数据库引擎优化顾问优化数据库
  8. 大连理工大学计算机视觉实验室,首个镜子分割网络问世,大连理工、鹏城实验室、香港城大出品 | ICCV 2019...
  9. scala教程(二) 函数
  10. Java最新面试题大全
  11. 不用登录就可以复制 CSDN 代码
  12. 95后公务员晒3004元工资引群嘲:安逸过了头,人生也就止步了
  13. 怎么查看ubuntu虚拟机ip地址?
  14. 快速搭建免费的个人网站
  15. Web前端设计与开发课程设计:简易淘宝网页设计
  16. 记一次流量分析实战——安恒科技(八月ctf)
  17. 变量值互换自定义函数swap()的使用
  18. android hid 音量,android Hid 实现注意事项
  19. windows常用 API函数
  20. HTML js实现类似于侠盗飞车的作弊码 通过按键组合在网页中埋一个彩蛋

热门文章

  1. python3.8 海象表达式 :=
  2. 智云通CRM:产品和人脉是销售的“终极武器”?
  3. Hitchhiker V0.10 在 CentOS上的搭建
  4. 微信小程序(5)-新闻页面制作(1)
  5. 花房集团成功上市,构建互联互通的在线社交娱乐生态
  6. 算法岗面试复盘| 阿里、百度、作业帮、华为
  7. 360清理痕迹后,系统启动变的超慢
  8. 普通人如何应对中年危机?
  9. 币圈的元宇宙不是元宇宙
  10. win10 x64 VS2017 PJSIP 视频通话编译流程