0

I'm creating an Android project. For CI, I am using Bamboo but can easily switch to Jenkins. That CI system lives on a VM via Xen, which cannot be easily changed. I have no problem running the Java Unit tests, but when I try to run the Android unit tests, I need either an emulator or a device. But

  • The emulator will not run on Xen because that would create a VM-within-a-VM issue (See S/O question)
  • A device cannot connect over USB (adb usb) to the VM because Xen cannot forward USB devices to guests (See S/O question)
  • A device cannot connect over wifi (adb tcpip; adb connect) because it needs it is marked as Unauthorized. Authorization is only granted via USB. See S/O question

Can anyone think of a workaround? Routing USB in Xen, running the emulator in Xen, or authorizing the CI computer to use the device would work. The only thing I can think of is to have additional dedicated hardware which is not a great solution for me.

Community
  • 1
  • 1
TinyTheBrontosaurus
  • 4,010
  • 6
  • 21
  • 34
  • Eventhough it is expensive, I would like to throw in some options https://aws.amazon.com/device-farm/pricing/ – Jaswanth Manigundan May 16 '17 at 22:18
  • That's not a bad idea. Also, someone verbally had the idea to create a VM using virtualbox (for example because it supports USB) then exporting/importing it to Xen. Downsides are that a) it's time consuming and b) the process needs to be repeated if USB auth is lost or if a new device is added. – TinyTheBrontosaurus May 17 '17 at 14:08
  • I would suggest you to have a look at packer and vagrant. With packer you can create a box with all required software and with vagrant you can reuse that box anywhere. You don't have to "repeat" the steps !! Works great too – Jaswanth Manigundan May 18 '17 at 06:06

0 Answers0