26
votes

I am testing my app with adb, but i get this error when i execute "dump view hierarchy for uiautomator":

Error obtaining UI hierarchy Error while obtaining UI hierarchy XML file: com.android.ddmlib.SyncException: Remote object doesn't exist!

My adb version is 1.0.36 and my android version is 6.0.1.

This error comes launched only when in the interface there is a dynamic element that is in motion.

thank you in advance.

12

12 Answers

32
votes

The best way is to kill the adb server and start it again.

  • sudo adb kill-server
  • sudo adb start-server

This will do the trick.

16
votes

Currently your UI needs to be idle (as in no Accessibility Events sent) for at least 1000ms before the AccessibilityService will be able to produce the UI hierarchy dump.

If you would try to run adb shell uiautomator dump it would give you the ERROR: could not get idle state.

10
votes

Even though it's late I'm giving my observation here. Even I got this issue. Before taking the screen shot from UI Automator terminate the appium server connection. Then try to capture screenshot. It works fine.

9
votes

I realise this is an old post. But I've noticed the same issue when I've use uiautomator to control the simulator for automation testing. It seems that the uiautomatorviewer does not connect to the emulator to take a screenshot after the emulator has been controlled by the uiautomator.

I found that running adb reconnect allows the uiautomatorviewer to take screenshots again.

7
votes

Try Restarting your device, which worked in my case.

3
votes

The below command executed from command line worked for me;

adb shell am force-stop com.android.ddmlib
3
votes

in the device or emulator :

  1. display the applications opened , and close them one by one.

  2. refresh monitor.

    It should now be able to and get the hierarchies, as if one of the apps opened was "obfuscating" the parsing.

2
votes

Close other AccessibilityService in your phone please.

2
votes

If you are getting this error

enter image description here

This means your UI Automator is got disconnected, to regain the connection, you can open the new terminal no need to worry about the location on the terminal.

Type the command

adb reconnect

and try again to take a screenshot it should work.

1
votes

Rebooting the device worked for me.

0
votes

I have tried all the above steps and none of them did not work. The reason being I have tried to run the uiautomatorviewer after opening the app using Appium. Whenever I manually open my app on the device and then run the uiautomatorviewer works perfectly well. Just sharing my experience. Thanks

-1
votes

Before taking the screen shot from "uiautomatorviewer" please terminate the appium server connection by using ctrl+C command. Then try to capture screenshot. It works fine.