You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Android 12无需设为系统应用或设备所有者获取IMEI与序列号方案咨询

Android 12 及以上版本获取IMEI/序列号的方案说明

从Android 10(API 29)开始Google就已收紧设备硬件标识的访问权限,Android 12进一步强化了限制,普通第三方应用无论申请任何权限,都无法通过官方公开接口直接获取IMEI、硬件序列号这类不可重置的设备唯一标识,该限制是系统底层实现的,没有通用的绕过方法。

除了你提到的将应用设为系统应用、设备所有者两类方案外,没有其他合法通用的途径可以直接获取原始IMEI和序列号,你可根据自身业务场景选择替代方案:

  • 若为企业部署类应用,可走Android企业设备管理流程,申请*配置文件所有者(Profile Owner)*权限,该权限属于你原有方案的延伸,是官方唯一允许非系统应用获取硬件标识的途径
  • 若仅需要设备唯一标识实现业务统计、账号关联、用户分群等场景,可使用官方推荐的替代标识:
    • 广告ID(Advertising ID):无需特殊权限即可获取,适合广告归因、用户分群场景,用户可主动重置,调用方法为AdvertisingIdClient#getAdvertisingIdInfo()
    • ANDROID_ID:通过Settings.Secure.getString(getContentResolver(), Settings.Secure.ANDROID_ID)获取,同一签名应用在同一设备上取值固定,仅会在设备恢复出厂、应用签名变更时变化,适合应用内的设备标识场景
    • 自定义UUID:应用首次启动时随机生成UUID存入应用私有目录,只要用户不卸载重装取值就不会变,完全由业务侧自主可控,适合不需要跨应用统一标识的场景
  • 若你的应用仅面向特定定制ROM的设备发布,可尝试对接ROM厂商开放的私有接口获取IMEI和序列号,该方法不通用,无法覆盖所有Android 12设备,且不符合原生Android的权限规范

额外提示:所有绕过系统权限限制获取IMEI/序列号的非正规方法,都违反Google Play应用上架政策,上架会被直接处罚下架,同时在原生Android 12及以上系统上无法生效,不建议尝试。

内容的提问来源于stack exchange,提问作者developer android

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.02 09:39:00