如题,公司自己内部使用的 APP ,不需要上架商店,扫码安装。
系统为 11 、12 。设备需要经常刷机。
在不 root ,不通过电脑单独开启某权限的情况下如何获取不会改变的唯一编码?
系统为 11 、12 。设备需要经常刷机。
在不 root ,不通过电脑单独开启某权限的情况下如何获取不会改变的唯一编码?
1
niubi8 May 30
AI 啊,刷机的情况,唯一标识会改变
|
2
SilentOrFight May 30
刷机的话你就在刷机的时候指定设备 ID 不就好了,你都能刷机了,改个设备 ID 不是有手就行?
|
3
YaNanGe OP @SilentOrFight 虽然说可以修改,但公司有 1000+台设备。最好是可以一次解决的
|
4
Pony69 May 30 via Android
IMEI 码?
|
6
lidongyooo May 30
android_id
|
7
knightdf May 30
oaid/imei
|
8
YaNanGe OP @lidongyooo 这个刷机后好像也会变化
|
10
ntdll May 30
具体依赖于设备实现,有的设备会让应用获取到的值改变,但是多数设备是不变的。
https://developer.android.com/reference/android/media/MediaDrm#PROPERTY_DEVICE_UNIQUE_ID |
11
nightlight9 May 30
普通 APP 写不了 persist ,但既然你们经常刷机,直接把 APP 打包成系统应用往永久分区里写 id 就行
|
12
YaNanGe OP @nightlight9 在不 root 的情况下要如何操作?
|
13
ndxxx May 30 via Android
设备需要刷机的话,你说的这个东西是不存在的😅
|
14
linxiaojialin May 30
既然是公司内部的机子,分配固定的内网 IP 绑定手机 MAC 地址,然后用 IP 作为唯一标识,这样可以吧
|
15
YaNanGe OP @linxiaojialin 有的设备需要发视频是不允许连公司的网络的,所以记录 ip 也没戏
![]() |
16
eleba May 30
最简单的 往 persist 分区里写个随机码当唯一 ID
|
17
CRH May 30
如果是商用设备,厂商可能会提供获取设备序列号的 API
|
18
icyalala May 30
原来是搞手机群控的。。。
|
19
SilentOrFight May 30 @YaNanGe #3 呵呵,1000+,是正常活吗?自己搞去吧~
|
20
junyee May 30
最近几年的 android,没有办法。
uuid 恢复出场就变。IMEI 默认情况下无法获取。 |
21
Hypixel May 30
如果真的是公司用而不是有其他目的,直接用 MDM 是最稳妥的
|
22
EgbertW May 30
你们写个 system app 读取 imei 啥的写进 prop 或者用 aidl 啥的传出来就好了吧,改个镜像就完事
|
23
triptipstop May 30
反正要刷机 直接刷个 ID 到 rom 里
|
24
moefishtang May 31
@Hypixel 感觉他这个场景像手机出租或者手机分期付款那种...
|
25
w568w May 31
有 1000 台机器,经常刷机,然后你们又没有 root 权限?那你们是怎么刷机的?还有不 root 刷机的办法?
如果你指的是「正常使用中不向用户暴露 root 权限」,刷机时写一个特权应用就行了,获取 IMEI/MEID 或向 persist 分区写数据 都可以。 |
26
sir283 May 31
自己去问 Ai ,然后自己写代码测试。
正常安卓机的唯一标识符就是 imei ,一机一码。 |
27
EndlessMemory May 31
多个指标哈希生成唯一 id 可行吗
|
28
YaNanGe OP |
29
YaNanGe OP @SilentOrFight #19 首先确实是有 1800 左右的手机,然后这些手机是分配到下面供员工使用。刷机也是有人专门负责的也只是有小部分手机会需要刷机。我也只是负责可以让他们快速进行设备登记。
|
31
jackOff 4 days ago
没办法,安卓现在的版本太自由和封闭了,压根就没有第三方能调用的唯一身份 id 这种东西
|
32
rev1si0n 4 days ago
不用想了,没有通用的方法,普通 APP 的权限也可以理解为不可能。
|
33
w568w 4 days ago
@YaNanGe > 其实也就是恢复出厂设置
恢复出厂设置,那更好办了呀,MDM 就是为这个场景设计的。 恢复出厂设置后,在首次配置页面连接 ADB ,执行一个命令把自己的应用设置成 Device Owner ,之后这个应用就具有接近 root 级别的权限了。可以获取真实 IMEI 、拿到硬件序列号、真实 MAC 地址,还能配置跨恢复出厂设置的自定义标识符。这不是完美符合需求了么。 |
34
mqnu00 4 days ago
@linxiaojialin #14 我觉得 MAC 地址可以吧,1800 ,也不至于倒霉撞上一样的?
|