首页 > 其他分享 >2024最新Android设备UUID/UDID使用指南

2024最新Android设备UUID/UDID使用指南

时间:2024-02-04 11:24:45浏览次数:35  
标签:UUID UDID 2024 获取 MAC ANDROID Android ID 设备

摘要

本篇博客主要介绍了Android设备的唯一标识符(UUID和UDID)的使用教程。在Android平台上获取设备ID一直是开发者面临的难题,因为缺乏稳定的API来获取设备ID。本文将介绍几种获取设备ID的方法,并分析它们的优缺点。

引言

UDID和UUID是Android设备的唯一标识符,用于标识不同设备或不同应用程序的唯一性。UDID是设备的唯一标识,而UUID除了表达硬件设备的唯一标识外,还可以用来标识软件的标识。

在Android平台上,获取设备ID一直是开发者面临的挑战。随着Android版本的升级和平台的碎片化问题,获取设备ID变得越来越困难。本文将介绍常见的几种获取设备ID的方法,并讨论它们的局限性。

正文

1. IMEI

IMEI(International Mobile Equipment Identity)是Android设备最理想的设备ID,具有唯一性且恢复出厂设置不会改变。可以通过拨打*#06#查询手机的IMEI码来获取。然而,获取IMEI需要READ_PHONE_STATE权限,而且在Android 10.0之后,第三方应用无法获取设备的IMEI,即使申请了READ_PHONE_STATE权限。因此,不建议将IMEI作为设备标识。

2. 设备序列号(SN号)

在Android 7.1或更早系统中,可以通过android.os.Build.SERIAL获取设备序列号,由厂商提供。然而,在Android 8.0及以上版本中,android.os.Build.SERIAL总是返回"unknown"。要获取序列号,可以调用Build.getSerial()方法,但需要申请READ_PHONE_STATE权限。在Android 10.0及以上版本中,获取设备序列号也被禁止。

3. MAC地址

MAC地址是设备的物理地址,大多数Android设备都有WiFi模块,因此可以使用WiFi模块的MAC地址作为设备标识。然而,出于隐私考虑,官方不建议获取MAC地址。从Android 6.0开始,通过WifiManager获取的MAC地址将是固定的(02:00:00:00:00:00),而且在Android 7.0之后,读取/sys/class/net/wlan0/address也无法获取到MAC地址。

4. ANDROID_ID

ANDROID_ID是获取门槛最低的设备ID,不需要任何权限。它具有64位的取值范围,相对来说唯一性较好。然而,ANDROID_ID也有一些不足之处。首先,刷机、Root或恢复出厂设置等操作会导致ANDROID_ID改变。其次,在Android 8.0及以上版本中,ANDROID_ID的规则发生了变化,对于升级到8.0之前安装的应用,ANDROID_ID会保持不变;对于安装在8.0系统的应用来说,ANDROID_ID根据应用签名、用户和设备三者的组合而不同。这两点可能会对广告联盟等产生影响,因此建议使用Advertising ID。

Appuploader【目前主要推荐的】**

Appuploader 是一个辅助工具,可以在 macOS 或 Windows 平台上进行证书制作、描述文件制作、APP提交、安装测试等操作。它为跨平台 APP 开发者提供了便利的上架流程,并简化了 iOS APP 上架的步骤。

在这里插入图片描述

 

5. 其他方法

除了上述方法外,还有一些其他方法可以作为Android设备的UDID。例如,一些开发者会使用设备的SOC号作为设备标识。

总结

在Android平台上获取设备ID是一个具有挑战性的任务。目前常用的方法包括IMEI、设备序列号、MAC地址和ANDROID_ID。然而,由于权限限制、Android版本升级和隐私保护等问题,这些方法都存在一定的局限性。开发者需要根据实际需求选择合适的设备ID获取方法,并注意处理好隐私保护问题。

参考资料

标签:UUID,UDID,2024,获取,MAC,ANDROID,Android,ID,设备
From: https://www.cnblogs.com/sdges/p/18005832

相关文章

  • 2024.2.4日报
    今天完成了信息化领域热词分析,以下是截图为证首先是用python爬取数据、清洗数据、保存到数据库  在这个过程中有一些词条查不到对应的百度解释于是直接在数据库中用delete删除了另外存储到数据库中可能会乱序,进行了代码的调整 然后是部署springboot和vue项目对他......
  • 2024年1月玩客云刷Armbian_20.11_Aml-s812_5.9.0-支持USB-WIFI最终完美版记录
    固件:https://www.right.com.cn/FORUM/thread-4103842-1-1.html写入emmc后aptupdateaptupgradee用armbian-config连接wifi,设置WiFiIP地址安装omv5(需要科学)参照:https://www.right.com.cn/forum/forum.php?mod=viewthread&tid=3049724&highlight=omv51.安装基础依赖(该步骤......
  • 云小课|Runc容器逃逸漏洞(CVE-2024-21626)安全风险通告
    阅识风云是华为云信息大咖,擅长将复杂信息多元化呈现,其出品的一张图(云图说)、深入浅出的博文(云小课)或短视频(云视厅)总有一款能让您快速上手华为云。更多精彩内容请单击此处。runc官方发布安全公告,披露runc1.1.11及更早版本中存在容器逃逸漏洞,攻击者会利用该漏洞导致容器逃逸......
  • 【2024-02-01】带病上班
    20:00岁不寒无以知松柏,事不难无以知君子。                                                 ——荀子昨晚睡觉的状态,跟前年阳了的那次感受十分相似,欲睡睡不着。刀片喉......
  • 【2024-02-02】连岳摘抄
    23:59成长的渐进方式很奇怪,向前两步后退一步。成长总会突然加速,但有时你会处于蛰伏期。请记住这一点,温柔地对待自己。                                                 ......
  • 2024.2.3日报
    6.2SortShuffle解析SortShuffleManager的运行机制主要分成三种:普通运行机制;bypass运行机制:当shufflereadtask的数量小于等于spark.shuffle.sort.bypassMergeThreshold参数的值时(默认为200),就会启用bypass机制;TungstenSort运行机制:开启此运行机制需设置配置项spa......
  • Japan Registry Services (JPRS) Programming Contest 2024 (AtCoder Beginner Contes
    //这一场我感觉有了新的蜕变思考问题也变了多种,3题(✌)A-TLD思路:题目本意 Youaregivenastring S, Printthelastsubstringwhen S issplitby .s给你一个字符串输出最后的点的网址(类似)的后缀,入坑点没有,题意简单。思路方法:最后一个‘.’为停止符号,倒的字符串......
  • 【愚公系列】2024年02月 WPF控件专题 Groupbox控件详解
    ......
  • 2024.1.30 总结
    上午重新编写了一下自己的缺省源晚上听吴队讲实验舱\(07\)的比赛题。\(A\)倒着考虑,用\(Tarjan\)求强联通分量。\(B\)有点结论,答案是所有边双联通分量内部的极差最大值。\(C\)建圆方树,然后在树上进行\(DFS\)预处理。之后是\(CF\)\(1925\)的讲题。这次感觉\(B\)......
  • 2024.1.31 总结
    上午接到姜\(sir\)通知后就开始召集讲题组并开始写题解。\(B\)属于结论题,题解和我赛时的结论不一样,然后就都证明了一下。Link\(D\)有一点难,借鉴了Register_int的题解,\(dp\)那段卡了一小段时间。Link晚上吴队讲题(实验舱\(06\))\(A\)其实很简单,只需要统计奇数度数的点,最......