Search code examples
androidandroidviewclient

AndroidViewClient restarts device with every command after using "touch(x,y)" command once


Using AndroidViewClient, just recently every action I try to make using Culebra or any of the associated scripts just restarts the virtual device. Has anyone ever run into this before?

**edit 1: ** More specifically, I get into this endless restart loop only after trying a command where I touch the device in a specific area.

i.e. If I place the following into my script, it will just restart the device and then all further Culebra generated commands will just cause the device to restart

self.vc.device.touchDip(173, 1111)

edit 2: Added more information
I've replicated this behavior on a few different models, but I'm primarily working with the following:

Device: Google Galaxy Nexus - 4.3 - API 18 - 720x1280

$ culebra -v
culebra 10.7.2

$ dump -v
dump 10.7.2

dump
android.widget.FrameLayout  
 android.view.View com.android.launcher:id/workspace 
  android.view.View com.android.launcher:id/cell3 
     android.appwidget.AppWidgetHostView  
        android.view.View com.android.deskclock:id/analog_appwidget 
     android.widget.TextView  Camera
....

$ adb shell date
Thu Aug 20 12:44:08 EDT 2015

Different x,y coordinates restart the device as well:

adb shell input tap 200 900 <--- restarts the phone as well

Edit 3: Screenshot after logged into adb shell
The phone restarts again after the second command here enter image description here


Solution

  • I never heard of such thing, then I guess is something related to your particular environment, device or version (details missing from your question).

    Anyway, instead of a solution, which I don't have as I don't know the problem I will give you some tips to find the cause.

    First of all, check that adb is working and you can connect to the device:

    adb shell

    AndroidViewClient/culebra uses input tap command to send touch events, then send something like

    adb shell input tap 173 1111
    

    ignore the DIP for the moment, just send the coordinates in PX.

    Additionally, test dump to verify that the content of the screen can be obtained

    dump -a
    

    I hope this helps you detect the problem.