boinc/android/Vagrant.README.md

2.4 KiB

Goals

Provide a turn-key VM for Android development

Requirements

On Linux, MacOS or Windows with VirtualBox

On Windows with Hyper-V

  • Hyper-V
  • Host:
    • 4 CPU cores (2 used by VM)
    • ~18 GB disk space
    • 8 GB RAM (4 used by VM)
  • Download volume (once): ~3.5 GB

HOWTO

  1. On your host: open a terminal
    1. Clone the BOINC repo and cd <BOINC_REPO>/android or just dowload the Vagrantfile from GitHub
    2. vagrant up
    3. Wait until the final reboot finished
    4. From this point on you don't need Vagrant anymore
      1. Don't run vagrant up again!
      2. Just use VirtualBox/Hyper-V to stop/start your new shiny VM
  2. In the VM:
    1. Log in with vagrant/vagrant
    2. Open a terminal
      1. cd BOINC/android
      2. ./build_all.sh
    3. Start Android Studio
    4. No need to change anything in the setup assitant (just complete it)
      • OK / Next / Next / Finish / Finish
    5. Import the BOINC App as Gradle project from: ~/BOINC/android/BOINC
    6. Ignore potential Gradle Plugin warning: Don't remind me again
  3. Hook up your Android device via USB (and remember to attach it to VirtualBox)
  4. Happy hacking :-)

Android Virtual Device Manager

Hyper-V can run Android Virtual Device Manager, but you have to install KVM and add vagrant user to KVM Group.

  1. Open a terminal
    1. apt install qemu-kvm
    2. adduser vagrant kvm
  2. Reboot the VM.

Known limitations

  • The Android Virtual Device Manager might not work properly as it needs virtualization which isn't possible within a virtual machine (at least not using VirtualBox). Although Hyper-V can run Android Virtual Device Manager.
  • On Windows it seems the VirtualBox manage GPU acceleration a little better on Ubuntu 18.04, than Hyper-V, despite the fact that Windows added Enhanced Session Mode to Ubuntu 18.04.