Utility and documentation to run hardware-accelerated x86_64 Android images on Linux QEMU KVM
This list contains the names of Android images that are officially supported and tested with this launcher and have their own manuals in this repository, under the docs directory.
Note
If your ROM is officially supported by this launcher, then be sure to read the manuals in the docs directory.
Clone this repository
Note
Yes, you can simply download this repo, but using git is the preferred way if you want to get all the new updates from the upstream.
git clone https://github.com/maximilionus/android-qemu-launcher.git
Download the desired Android image, but prefer the officially supported one.
Run the launcher with argument init
to prepare the file structure and drives for VM:
Warning
Be ready to provide user input.
./launcher.sh init
Output:
Directories initialized.
Enter VM drive size (default: 20G): [USER-INPUT]
Formatting './drives/...', [...]
Everything is done [...]
Run the launcher with the install argument and the path to the Android image from step 2 next to it and proceed with basic Android installation on MBR (DOS) drive layout and GRUB bootloader enabled:
./launcher.sh install <PATH_TO_ROM>
# Example
./launcher.sh install ~/Downloads/android-x86-rom.iso
Shut down the virtual machine after the installer reports a successful installation, do not reboot it.
That's it. From now on, you can run the launcher to start the VM:
./launcher.sh
# or
./launcher.sh run
To update the launcher, simply use this command
git pull
The default configuration file is located in the root of this project and is named vm.conf
. It contains all modifiable variables with their corresponding descriptions and default values. Every value in this file can be changed or even deleted at any point in the development process, so you should prefer using the user configuration file to make any tweaks.
This configuration file must be created manually by the user and placed in the root of this project under the name vm.user.conf
. Launcher will automatically load it on each run, overwriting the modified variables from the default configuration.
vm.user.conf
in the root of this project.RAM_SIZE=8192
CPU_CORES=8
ADB_ENABLE=true
Note
You can also modify the path to the user configuration file by changing theCUSTOM_CONFIG_PATH
variable value in the default configuration.
This project provides a convenient way to manage the desktop entry for the launcher, making it easier to access from your desktop environment.
.desktop
entries (e.g., GNOME, KDE, Xfce, etc.).GNU Make
utility installed on your system.To create the desktop entry:
make install
To remove the desktop entry:
make uninstall
Virtual Machine can also be accessed with adb
from the host machine, but this feature is disabled by default in configuration file. To enable it, follow the steps below.
ADB_ENABLE=true
variable to it.
Note
You can also change the port forwarding by adding theADB_PORT=VALUE
.
adb
by executing the command below:
adb connect localhost:4444
If you are connecting for the first time, you will be prompted to allow debugging in the VM. Allow the connection and run the command above again.