I've successfully build android-x86 7.1-r2 with gapps in whonix-14-ws AppVM.
1. Install packages in whonix-14-ws template: sudo apt-get install openjdk-8-jdk git-core gnupg flex bison gperf build-essential zip curl zlib1g-dev gcc-multilib g++-multilib libc6-dev-i386 lib32ncurses5-dev x11proto-core-dev libx11-dev lib32z-dev libgl1-mesa-dev libxml2-utils xsltproc unzip gettext python-pip libyaml-dev dosfstools syslinux syslinux-utils xorriso mtools makebootfat lunzip 2. Create builder AppVM based on whonix-14-ws in which you'll build android-x86: You'll need 120GB for android-x86 sources and temp build files and 30GB for swap. Extend private storage size to 160GB via GUI or in dom0: qvm-volume extend android-builder:private 160g Add 30GB swap in builder VM: sudo dd if=/dev/zero of=/rw/swapfile bs=1024 count=31457280 sudo chown root:root /rw/swapfile sudo chmod 0600 /rw/swapfile sudo mkswap /rw/swapfile sudo swapon /rw/swapfile In builder VM run: sudo ln -s /sbin/mkdosfs /usr/local/bin/mkdosfs sudo pip install prettytable Mako pyaml dateutils --upgrade export _JAVA_OPTIONS="-Xmx8G" echo 'export _JAVA_OPTIONS="-Xmx8G"' >> ~/.profile echo "sudo swapon /rw/swapfile" >> /rw/config/rc.local Download android-x86 sources: mkdir android-x86 cd android-x86 curl https://storage.googleapis.com/git-repo-downloads/repo > repo chmod a+x repo sudo install repo /usr/local/bin rm repo git config --global user.name "Your Name" git config --global user.email "y...@example.com" repo init -u git://git.osdn.net/gitroot/android-x86/manifest -b android-x86-7.1-r2 To add GAPPS to your build you need to add the build system, and the wanted sources to your manifest. Edit .repo/manifests/default.xml and add the following towards the end: <remote name="opengapps" fetch="https://github.com/opengapps/" /> <project path="vendor/opengapps/build" name="aosp_build" revision="master" remote="opengapps" /> <project path="vendor/opengapps/sources/all" name="all" clone-depth="1" revision="master" remote="opengapps" /> <project path="vendor/opengapps/sources/x86" name="x86" clone-depth="1" revision="master" remote="opengapps" /> <project path="vendor/opengapps/sources/x86_64" name="x86_64" clone-depth="1" revision="master" remote="opengapps" /> Download sources: repo sync --no-tags --no-clone-bundle --force-sync -j$( nproc --all ) If you choose to add GAPPS, then edit file device/generic/common/device.mk and add at the beginning: #OpenGAPPS GAPPS_VARIANT := pico GAPPS_PRODUCT_PACKAGES += Chrome \ KeyboardGoogle \ LatinImeGoogle \ GoogleTTS \ YouTube \ PixelIcons \ PixelLauncher \ Wallpapers \ PixelLauncherIcons \ WebViewGoogle \ GoogleServicesFramework \ GoogleLoginService \ GAPPS_FORCE_BROWSER_OVERRIDES := true GAPPS_FORCE_PACKAGE_OVERRIDES := true GAPPS_EXCLUDED_PACKAGES := FaceLock \ AndroidPlatformServices \ PrebuiltGmsCoreInstantApps \ And at the end add: #OpenGAPPS $(call inherit-product, vendor/opengapps/build/opengapps-packages.mk) Edit android-x86 sources for XEN compatibility: sed -i -e 's|/sys/block/\[shv\]d\[a-z\]|/sys/block/\[shv\]d\[a-z\] /sys/block/xvd\[a-z\]|g' bootable/newinstaller/install/scripts/1-install sed -i -e 's|/sys/block/\[shv\]d\$h/\$1|/sys/block/\[shv\]d\$h/\$1 /sys/block/xvd\$h/\$1|g' bootable/newinstaller/install/scripts/1-install sed -i -e 's|hmnsv|hmnsvx|g' bootable/newinstaller/initrd/init Edit android-x86 sources for Debian build environment: sed -i -e 's|genisoimage|xorriso -as mkisofs|g' bootable/newinstaller/Android.mk Configure build target: . build/envsetup.sh lunch android_x86_64-eng Configure kernel: make -C kernel O=$OUT/obj/kernel ARCH=x86 menuconfig You need to edit these parameters: XEN=yes XEN_BLKDEV_BACKEND=yes XEN_BLKDEV_FRONTEND=yes XEN_NETDEV_BACKEND=no XEN_NETDEV_FRONTEND=no SECURITY_SELINUX_BOOTPARAM=yes SECURITY_SELINUX_BOOTPARAM_VALUE=1 SECURITY_SELINUX_DISABLE=yes DEFAULT_SECURITY_SELINUX=yes The kernel config will be in out/target/product/x86_64/obj/kernel/.config Also, you can edit the config to set the device type from tablet to phone. Edit device/generic/common/device.mk and change PRODUCT_CHARACTERISTICS from tablet to default: PRODUCT_CHARACTERISTICS := default Start the build: m -j$( nproc --all ) iso_img After you got the iso, create the android network VM. If you choose the android VM's netvm as sys-whonix directly, the network won't work. You need to have intermediate netvm between android VM and sys-whonix. Create new AppVM sys-android based on fedora template with netvm sys-whonix and set "provides network". Create android VM in dom0: qvm-create --class StandaloneVM --label green --property virt_mode=hvm android qvm-prefs android kernel '' qvm-prefs android 'sys-android' qvm-prefs android memory '2048' qvm-prefs android maxmem '2048' qvm-volume extend android:root 20g Start the android VM with iso: qvm-start android --cdrom=android-builder:/home/user/android-x86/out/target/product/x86_64/android_x86_64.iso Install android-x86 on xvda and reboot. Start android VM without iso: qvm-start android When it'll start, kill the VM and wait for it to halt. Configure android VM to use the mouse in dom0: sudo mkdir -p /etc/qubes/templates/libvirt/xen/by-name/ sudo cp /etc/libvirt/libxl/android.xml /etc/qubes/templates/libvirt/xen/by-name/android.xml sudo sed -i -e 's/tablet/mouse/g' /etc/qubes/templates/libvirt/xen/by-name/android.xml Start android VM without iso and it should work fine: qvm-start android -- You received this message because you are subscribed to the Google Groups "qubes-users" group. To unsubscribe from this group and stop receiving emails from it, send an email to qubes-users+unsubscr...@googlegroups.com. To post to this group, send email to qubes-users@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/qubes-users/53bdab0a-8c70-4fc3-9d4b-224b43849946%40googlegroups.com. For more options, visit https://groups.google.com/d/optout.