How to natively automate an app with usb debugging disabled? I am an avid sports bettor and everyday I place bets using a mobile app from a local sportsbook. The sportsbook offers a mobile app, only, and no desktop version. Which is too bad because I know how to automate desktop applications and desktop browsers using Selenium.

The placing of bets is a mindless operation that I have to perform manually. I get an email with which teams to bet from a professional service, I then open the mobile app from the sportsbook, and use my fingers to click through the various bets, submitting them as I go. I want to automate this to give me back time in my life.

I thought that I could use something like Android Studio, jUnit, and uiautomatorviewer (Android SDK tool) and automate the phone via my desktop through a USB connection on the phone. Of course this solution requires enabling USB Debugging on the Android phone. Thinking this solution would be a slam dunk, I started implementing it and I ran in to a major snag: the sportsbook mobile app disables itself when USB debugging is turned on! Which stops this solution from working. And that is why I am looking for a native solution: one that does not require a USB connection. (note: I did call them and ask why this is - they said that they triangulate my phone using its LTE connection to ensure I'm in a legal place to gamble in - and that if the USB connection could be enabled then theoretically someone could setup a server farm, hook phones to it, and remote in from any where in the world to place bets, violating the law - well I'm not breaking the law with what I want to do, but I see their point as to why it disables)

Before I go down the rabbit hole of discovering a native solution - which I freely admit I know nothing about - I'd like to ask the community here how it might be done.

Some thoughts that I had...

Could I write an android app that controls another android app?

Could I use Selendroid (natively) to control the mobile sports app? 

Both seem like major undertakings.
The Settings-App uses a persistent system property to enable/disable 
adb. 


The property_service inside  the system controls which "process-id" 
is allowed to set the different properties. Any Property starting 
with 
"persistent.service.*" can only be set by AID_SYSTEM. 

So you app must be a system app to be able to set this kind 
of properties and for this you have to sign it with the platform key 
of the particular device.