For those who are developing on Linux and are stuck with a host of back-end systems running inside virtualbox, a simple solution is simply to create a virtualbox X86 Android VM and expose the 5555 port on the NAT interface tunnelled from localhost through PAT.
No need for slow arm AVD, no need for libvirt/vagrant let alone killing kvm!
Then let adb know about it
$ adb tcpip 5555
restarting in TCP mode port: 5555
$ adb connect 127.0.0.1
connected to 127.0.0.1:5555
$ adb devices
List of devices attached adb server
* daemon started successfully
emulator-5554 device
Then, pressing run or debug, in Android Studio will deploy and execute on that VM.
You have complete control under Android Studio debugger.