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

Android 13下如何使用ADB命令获取IMEI?原方法报错求解

Android 13及以上版本ADB获取IMEI的解决办法

之前用于Android 12的ADB命令:

adb root
adb shell "service call iphonesubinfo 1 i64 0 | cut -c 52-66 | tr -d '.[:space:]'"

在Android 13及以上版本会返回"Package does not belong to..."错误,这是因为系统收紧了iphonesubinfo服务的调用权限,非合规调用会被拦截。以下是可行的解决办法:

已Root设备(推荐方案)

方式一:通过dumpsys提取IMEI

dumpsys iphonesubinfo会输出设备电信相关信息,直接过滤提取IMEI:

adb root
adb shell "dumpsys iphonesubinfo | grep 'IMEI' | awk '{print $2}'"

若输出格式存在差异,可用正则匹配15位IMEI:

adb root
adb shell "dumpsys iphonesubinfo | grep -o '[0-9]\{15\}'"

方式二:使用官方cmd phone命令

Android 13+提供了官方命令获取IMEI,Root权限下执行:

adb root
adb shell "cmd phone get-imei"

双卡设备获取第二张卡IMEI,指定slot参数:

adb root
adb shell "cmd phone get-imei 1"

未Root设备(需USB调试权限)

若设备未Root但开启了USB调试,可通过内容提供者查询:

adb shell content query --uri content://telephony/siminfo --projection imei | grep -o 'imei=[0-9]*' | cut -d= -f2

注:该方法在部分定制ROM上可能因厂商权限限制失效。

失效原因说明

Android 13开始,iphonesubinfo服务新增了包名校验逻辑,原命令的调用方式未通过权限校验,因此触发"Package does not belong to..."错误。

内容的提问来源于stack exchange,提问作者James Feng

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 13:01:10