2017-03-29 13:37:35 +00:00
## Goals
Provide a turn-key VM for Android development
## Requirements
2018-11-24 08:02:36 +00:00
### On Linux, MacOS or Windows with VirtualBox
2017-03-31 08:28:09 +00:00
* [Vagrant ](https://www.vagrantup.com/downloads.html )
* [VirtualBox ](https://www.virtualbox.org/wiki/Downloads )
2018-11-23 17:31:26 +00:00
* [VirtualBox Extension Pack ](https://www.virtualbox.org/wiki/Downloads ) for USB 3.0 support.
2017-03-31 08:28:09 +00:00
* Host:
* 4 CPU cores (2 used by VM)
* ~18 GB disk space
* 4 GB RAM (2 used by VM)
* Download volume (once): ~3.5 GB
2017-03-29 13:37:35 +00:00
2018-11-24 08:02:36 +00:00
### On Windows with Hyper-V
* [Hyper-V ](https://docs.microsoft.com/en-us/virtualization/hyper-v-on-windows/quick-start/enable-hyper-v )
* Host:
* 4 CPU cores (2 used by VM)
* ~18 GB disk space
2018-11-25 13:24:21 +00:00
* 8 GB RAM (4 used by VM)
2018-11-24 08:02:36 +00:00
* Download volume (once): ~3.5 GB
### HOWTO
2017-03-29 13:37:35 +00:00
1. On your host: open a terminal
2018-11-23 17:31:26 +00:00
1. Clone the [BOINC repo ](https://github.com/BOINC/boinc ) and `cd <BOINC_REPO>/android` or just dowload the [Vagrantfile from GitHub ](https://github.com/BOINC/boinc/blob/master/android/Vagrantfile )
2017-03-29 13:37:35 +00:00
1. `vagrant up`
1. Wait until the final reboot finished
2017-03-31 08:28:09 +00:00
1. **From this point on you don't need Vagrant anymore**
1. Don't run `vagrant up` again!
2017-03-31 11:55:43 +00:00
1. Just use VirtualBox to stop/start your new shiny VM
2017-03-29 13:37:35 +00:00
1. In the VM:
1. Log in with `vagrant/vagrant`
2017-03-31 08:28:09 +00:00
1. Open a terminal
1. `cd BOINC/android`
1. `./build_all.sh`
2017-03-29 13:37:35 +00:00
1. Start Android Studio
1. No need to change anything in the setup assitant (just complete it)
* OK / Next / Next / Finish / Finish
1. Import the BOINC App as *Gradle* project from: `~/BOINC/android/BOINC`
2017-03-31 08:28:09 +00:00
1. Ignore potential Gradle Plugin warning: *Don't remind me again*
2017-03-29 13:37:35 +00:00
1. Hook up your Android device via USB (and remember to attach it to VirtualBox)
1. Happy hacking :-)
2018-11-24 08:02:36 +00:00
### Known limitations
2017-03-29 13:37:35 +00:00
* The Android Virtual Device Manager might not work properly as it needs virtualization
2018-11-25 13:24:21 +00:00
which isn't possible within a virtual machine (at least not using VirtualBox). Although Hyper-V can run Android Virtual Device Manager.
2018-11-24 08:02:36 +00:00
* 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 ](https://blogs.technet.microsoft.com/virtualization/2018/02/28/sneak-peek-taking-a-spin-with-enhanced-linux-vms/ ).