Android in Kasm
This video shows off an experimental Workspace that can be used to run a virtual android device. This combines our Docker-In-Docker (DinD) image, Redroid and scrcpy projects.
You can install your favorite android apps (.apk) just by dragging them into the device. It is even capable of running arm based apps even when running this on an amd64 system.
The left ALT key is mapped as the hotkey for scrcpy which allows you to use various combinations to adjust the device. For example:
Alt+R - rotate the android device
Alt+F - fullscreen the android device
Alt+Up/Alt+Down - Increase the volume of the device
Additional details on these shortcuts can be found In the scrcpy docs
Of note, the redroid images do not include Google Mobile Service (GMS) support, so some apps (e.g Chrome) will not run. Your mileage will vary in this regard. Many social apps work (Tiktok, Twitter, WeChat, Telegram, Whatsapp), while some don't (Snapchat).
Android studio is included to demonstrate how developers can build and run their own apps as well.
This image requires the "binder_linux" host level kernel modules installed and enabled. See Redroid Docs for more details.
Below is an example for installing binder_linux on Ubuntu 22.04 LTS host
sudo apt install linux-modules-extra-`uname -r`
sudo modprobe binder_linux devices="binder,hwbinder,vndbinder"
GPU acceleration is supported by redroid and scrcpy and should also work within this Workspaces using the DRI3 GPU Acceleration with Intel/AMD via but is not well tested. DRI3 Docs . You will also need to set the REDROID_GPU_GUEST_MODE
environment variable to host
in the Docker Run section of the Workspace entry.
The Redroid Workspace is available in the Kasm Registry, so you should be able to test in on your existing 1.13.1 or 1.14.0 installs , or via the 1.15.0 Developer Preview builds. The 1.15 builds allow you to select the Android Version from the launcher as shown in the video. On prior versions, you will need to edit the ANDROID_VERSION
environment variable within the Docker Run section of the Workspace entry.
Related Docs:
Links to related docs in the kasm_docs project
Related articles