Android 6.0.1 uiautomator SyncException:远程对象不存在!在incall屏幕期间

时间:2016-09-01 12:30:54

标签: android adb uiautomator uiautomatorviewer

目标:我想在Android 6.0.1设备中使用android uiautomator自动化与呼叫相关的场景。但是无法在incall屏幕中获取UI层次结构(Mute,Spearker On,Keypad,Addcall等)

注意:我没有使用任何appium服务器

  

错误:“获取UI层次结构时出错”原因:获取UI时出错   层次结构XML文件:com.android.ddmlib.SyncException:远程对象   不存在!

观察:

  1. adb devices列出了设备,我们可以访问/ data / local / tmp / directory
  2. 重启设备,重启电脑,重启uiautomatorviewer
  3. adb shell input tap x y正在运行(但不想在脚本文件中使用坐标)
  4. 请协助寻找解决方案,以便自动化手机应用程序,例如“静音”,“取消静音”,“dtmf按键盘数字”,“扬声器开启”扬声器关闭“。

    有没有办法通过adb执行此类操作?

1 个答案:

答案 0 :(得分:0)

您只需调用adb命令即可调用调用方服务。

要从ADB拨打(而不是呼叫)号码,请运行以下ADB shell命令:

$ adb shell service call phone 1 s16 "9302939203"
Result: Parcel(00000000    '....')

要从ADB拨打电话,我们只需要更改调用服务命令的方式:

$ adb shell service call phone 2 s16 "1" s16 "9302939203"
Result: Parcel(00000000    '....')

另一个命令也是来自亚行的电话:

$ adb shell am start -a android.intent.action.CALL -d tel:9302939203
Starting: Intent { act=android.intent.action.CALL dat=tel:xxxxxxxxxxx }