Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 仅通过ADB获取华为旧机型的IMEI_Android_Adb_Huawei Mobile Services - Fatal编程技术网

Android 仅通过ADB获取华为旧机型的IMEI

Android 仅通过ADB获取华为旧机型的IMEI,android,adb,huawei-mobile-services,Android,Adb,Huawei Mobile Services,我需要一些帮助。我有一个华为g6-l11(Android 4.3),我正试图通过ADB从中提取IMEI。我知道这个装置很古老,但这是我的任务之一。到目前为止,我已经尝试了在互联网上能找到的一切,比如: 1) adb shell getprop | grep”“ 2) adb shell服务调用iphonesubinfo N | grep”“-其中N是一个介于1和50之间的数字 3) adb外壳设置获取安全的android\u id 4) adb shell内容查询--uricontent://s

我需要一些帮助。我有一个华为g6-l11(Android 4.3),我正试图通过ADB从中提取IMEI。我知道这个装置很古老,但这是我的任务之一。到目前为止,我已经尝试了在互联网上能找到的一切,比如:

1)
adb shell getprop | grep”“

2)
adb shell服务调用iphonesubinfo N | grep”“
-其中N是一个介于1和50之间的数字

3)
adb外壳设置获取安全的android\u id

4) adb shell内容查询--uricontent://settings/secure |grep“”

5) adb shell内容查询--uricontent://settings/system |grep“”

6) adb shell内容查询--uricontent://settings/global |grep“”

7)
adb外壳转储系统| grep”“

因此,我制作了一个Android应用程序,并在智能手机上运行这段代码:

val tm = this.getSystemService(Context.TELEPHONY_SERVICE) as TelephonyManager
Log.d("Emy_","The IMEI is ${tm.deviceId}")
这很好,但它是一个Android应用程序,当我需要做同样的事情,但只有通过亚洲开发银行

此外,我还找到了一个可以帮助我的方法(比如:
fastboot oem获取psid
)。但问题是我需要重新启动手机进入快速启动模式。这花的时间太长了

我的问题是:

1) 为什么对于操作系统版本低于棉花糖的华为机型,提取IMEI会有所不同


2) 如何将Java代码完成的函数调用复制到终端中的ADB中?或者换句话说,您建议我使用哪些其他命令来提取IMEI?

如果您只是想了解IMEI,您可以尝试以下代码:
*\06
或者你可以试试这个:
adb shell
服务呼叫iphonesubinfo 1 | toybox cut-d“'”-f2 | toybox grep-Eo“[0-9]”| toybox xargs | toybox sed's/\//g'

跳起来帮助你

您可以在屏幕上显示它:

adb am start -a android.intent.action.CALL -d tel:*%2306%23

您是否在android 5以下的设备上尝试了
adb shell dumpsys iphonesubinfo
而没有
服务调用
命令。我已经在运行android 4.3的模拟器上进行了测试。是的,我已经尝试了该命令,并在第7点对其进行了枚举。因为您提供了一段代码,所以下面是命令的输出。命令:“C:\Users\gresa>adb.exe shell dumpsys iphonesubinfo”,输出:“Phone:Subscriber Info:Phone Type=GSM”确定,在4.3 android仿真器上,输出为
Phone Subscriber Info:Phone Type=GSM Device ID=35824005111110
。因此,在
Phone Type=GSM
之后,它还显示了设备ID,您是对的,但我已经在实际设备上执行了该命令。输出是不同的。谢谢,我会继续挖掘的。但是如果你有任何其他的建议,我只是年。嘿,你不是完全错了。但你的答案并不完整。是的,我可以执行你的命令,然后在手机屏幕上显示IMEI。通过运行命令“adb shell uiautomator dump”,我将对屏幕进行XML捕获。在这个XML中,搜索提取模式只返回IMEI。@GreşanuEmanuel Vasile读取字符串听起来相当复杂。。。但这可能是其中的一种情况,因为似乎没有太多的替代方案,所以“虽然有效”就足够了。感谢您的赏金和完成解决方案方法。。。使用adb wait for device,您甚至可以对其进行优化,以批量处理许多设备。我正在构建的软件需要提取IMEI,因此用户不应该做任何事情。另外,您提供的代码的问题是没有返回任何内容。“adb外壳服务呼叫iphonesubinfo 1”告诉我我没有权限。另外,我在第2点提到了这一行“不起作用”。我认为*%2306%23==*#06#