如何在Android 13上使用adb命令获取IMEI?

3

关于使用ADB命令获取Android 12的IMEI号码有一个问题。

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

我测试了这个方法,在Android 12上运行良好。

但从Android 13开始,它会返回一个错误消息:“包不属于...”

有人能帮忙吗?谢谢!

2个回答

6
adb shell "service call iphonesubinfo 1 s16 com.android.shell | cut -c 52-66 | tr -d '.[:space:]'"

这是你想要的


1
干得好!但是你是怎么找到这个命令的?有什么诀窍吗? - James Feng
1
你的回答可以通过提供更多支持信息来改进。请编辑以添加进一步的细节,例如引用或文档,以便他人可以确认你的答案是正确的。您可以在帮助中心中找到有关如何编写良好答案的更多信息。 - Community

-1
以下 ADB 命令使用 Android 的 UIAutomator。
方法:调用应用程序 -> *#06# -> 获取值
adb shell "imei=$(input keyevent KEYCODE_WAKEUP;input keyevent KEYCODE_CALL;sleep 1;input text '*#06#'; uiautomator dump --compressed /dev/stdout|sed s/\>\<\/\\n/g|grep -A1 IMEI1|tail -n1|sed -e 's/.*text=\"//' -e 's/\".*//'); echo ${imei:0:16}"

您可以进行编辑以获取IMEI1、IMEI2和SN。我的手机是三星Galaxy,如果您使用其他品牌的手机,请相应地进行编辑。

注意:当您的手机被锁定时无法使用


它会产生一些特权异常,例如“在执行'keyevent'时发生异常:java.lang.SecurityException:注入输入事件需要调用者(或仪器的来源,如果有)具备INJECT_EVENTS权限。” - James Feng

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接