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

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.



Solution 1:[1]

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.

Solution 2:[2]

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.

Solution 3:[3]

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.

Solution 4:[4]

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.

Solution 5:[5]

Try Restarting your device, which worked in my case.

Solution 6:[6]

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.

Solution 7:[7]

The below command executed from command line worked for me;

adb shell am force-stop com.android.ddmlib

Solution 8:[8]

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.

Solution 9:[9]

Close other AccessibilityService in your phone please.

Solution 10:[10]

Rebooting the device worked for me.

Solution 11:[11]

For those people who encountered this issue due to changes to the Accessibility Events faster than once a second.

ERROR: could not get idle state.

I found a comment on AndroidViewClient which is based on uiautomator where the author says that CulebraTester2-public exposes this functionality.

https://github.com/dtmilano/AndroidViewClient/issues/189#issuecomment-570775719

https://github.com/dtmilano/CulebraTester2-public is not affected by this problem.

It can be used to dump the hierarchy and also as an AndroidViewClient backend.

https://github.com/dtmilano/CulebraTester2-public https://github.com/dtmilano/CulebraTester2-client

I ran a simple test and it seems to work in my case.

Solution 12:[12]

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

Solution 13:[13]

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.