YaNanGe
V2EX  ›  Android

有没有大佬知道如何获取安卓唯一标识

  •  1
     
  •   YaNanGe · May 30 · 9557 views
    This topic created in 158 days ago, the information mentioned may be changed or developed.
    如题,公司自己内部使用的 APP ,不需要上架商店,扫码安装。

    系统为 11 、12 。设备需要经常刷机。

    在不 root ,不通过电脑单独开启某权限的情况下如何获取不会改变的唯一编码?
    35 replies  •  2026-06-01 12:14:56 +08:00
    niubi8
    niubi8
    May 30
    1
    AI 啊,刷机的情况,唯一标识会改变
    SilentOrFight
    2
    刷机的话你就在刷机的时候指定设备 ID 不就好了,你都能刷机了,改个设备 ID 不是有手就行?
    YaNanGe
    YaNanGe
    OP
    May 30
    3
    @SilentOrFight 虽然说可以修改,但公司有 1000+台设备。最好是可以一次解决的
    Pony69
    Pony69
    May 30 via Android
    4
    IMEI 码?
    YaNanGe
    YaNanGe
    OP
    May 30
    5
    @Pony69 11 12 的系统好像没办法获取到 IMEI
    lidongyooo
    6
    android_id
    knightdf
    knightdf
    May 30
    7
    oaid/imei
    YaNanGe
    YaNanGe
    OP
    May 30
    8
    @lidongyooo 这个刷机后好像也会变化
    YaNanGe
    YaNanGe
    OP
    May 30
    9
    @knightdf 目前使用都是 OAID ,但只能解决卸载不变化,但刷机后依旧不行。IMEI 貌似只有系统级的应用才可以获取吧?
    ntdll
    ntdll
    May 30
    10
    具体依赖于设备实现,有的设备会让应用获取到的值改变,但是多数设备是不变的。

    https://developer.android.com/reference/android/media/MediaDrm#PROPERTY_DEVICE_UNIQUE_ID
    nightlight9
    11
    普通 APP 写不了 persist ,但既然你们经常刷机,直接把 APP 打包成系统应用往永久分区里写 id 就行
    YaNanGe
    YaNanGe
    OP
    May 30
    12
    @nightlight9 在不 root 的情况下要如何操作?
    ndxxx
    ndxxx
    May 30 via Android
    13
    设备需要刷机的话,你说的这个东西是不存在的😅
    linxiaojialin
    14
    既然是公司内部的机子,分配固定的内网 IP 绑定手机 MAC 地址,然后用 IP 作为唯一标识,这样可以吧
    YaNanGe
    YaNanGe
    OP
    May 30
    15
    @linxiaojialin 有的设备需要发视频是不允许连公司的网络的,所以记录 ip 也没戏
    eleba
    eleba
    May 30
    16
    最简单的 往 persist 分区里写个随机码当唯一 ID
    CRH
    CRH
    May 30
    17
    如果是商用设备,厂商可能会提供获取设备序列号的 API
    icyalala
    icyalala
    May 30
    18
    原来是搞手机群控的。。。
    SilentOrFight
    19
    @YaNanGe #3 呵呵,1000+,是正常活吗?自己搞去吧~
    junyee
    junyee
    May 30
    20
    最近几年的 android,没有办法。

    uuid 恢复出场就变。IMEI 默认情况下无法获取。
    Hypixel
    Hypixel
    May 30
    21
    如果真的是公司用而不是有其他目的,直接用 MDM 是最稳妥的
    EgbertW
    EgbertW
    May 30
    22
    你们写个 system app 读取 imei 啥的写进 prop 或者用 aidl 啥的传出来就好了吧,改个镜像就完事
    triptipstop
    23
    反正要刷机 直接刷个 ID 到 rom 里
    moefishtang
    24
    @Hypixel 感觉他这个场景像手机出租或者手机分期付款那种...
    w568w
    w568w
    May 31
    25
    有 1000 台机器,经常刷机,然后你们又没有 root 权限?那你们是怎么刷机的?还有不 root 刷机的办法?

    如果你指的是「正常使用中不向用户暴露 root 权限」,刷机时写一个特权应用就行了,获取 IMEI/MEID 或向 persist 分区写数据 都可以。
    sir283
    sir283
    May 31
    26
    自己去问 Ai ,然后自己写代码测试。

    正常安卓机的唯一标识符就是 imei ,一机一码。
    EndlessMemory
    27
    多个指标哈希生成唯一 id 可行吗
    YaNanGe
    YaNanGe
    OP
    Jun 1
    28
    @icyalala
    @Hypixel
    只是单纯的记录目前是谁在用,用于快速登记使用。然后根据这台手机快速找到这个人。刷机是因为有的抖音流量不好就需要刷机换号
    YaNanGe
    YaNanGe
    OP
    Jun 1
    29
    @SilentOrFight #19 首先确实是有 1800 左右的手机,然后这些手机是分配到下面供员工使用。刷机也是有人专门负责的也只是有小部分手机会需要刷机。我也只是负责可以让他们快速进行设备登记。
    YaNanGe
    YaNanGe
    OP
    Jun 1
    30
    @w568w 其实也就是恢复出厂设置
    jackOff
    jackOff
    Jun 1
    31
    没办法,安卓现在的版本太自由和封闭了,压根就没有第三方能调用的唯一身份 id 这种东西
    rev1si0n
    32
    不用想了,没有通用的方法,普通 APP 的权限也可以理解为不可能。
    w568w
    w568w
    Jun 1
    33
    @YaNanGe > 其实也就是恢复出厂设置

    恢复出厂设置,那更好办了呀,MDM 就是为这个场景设计的。

    恢复出厂设置后,在首次配置页面连接 ADB ,执行一个命令把自己的应用设置成 Device Owner ,之后这个应用就具有接近 root 级别的权限了。可以获取真实 IMEI 、拿到硬件序列号、真实 MAC 地址,还能配置跨恢复出厂设置的自定义标识符。这不是完美符合需求了么。
    mqnu00
    mqnu00
    Jun 1
    34
    @linxiaojialin #14 我觉得 MAC 地址可以吧,1800 ,也不至于倒霉撞上一样的?
    Hypixel
    Hypixel
    Jun 1
    35
    @YaNanGe
    @w568w
    那 MDM 也不能说是最好的方案,因为抖音完全可以检测设备是否加入了 MDM 并将其考虑到设备风控的一部分
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2155 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 55ms · UTC 16:05 · PVG 00:05 · LAX 08:05 · JFK 11:05
    ♥ Do have faith in what you're doing.