🟒 Android Linux for ARM

Android on Linux ARM

Android with Screen Copy (scrcpy)

Redroid with Malior-Droid Only works with old Panfrost Kernel 5.10 - Literally the best option.

image

You can run Android environments on your ARM-based Linux system using ReDroid in combination with scrcpy and Docker . This setup allows you to interact with Android through a high-performance GUI.

:gear: Best Performance Option - CNflysky

ReDroid with Malior-Droid
:warning: Only compatible with older Panfrost kernels (e.g., Kernel 5.10)
:white_check_mark: This offers the best performance and compatibility currently available.

:whale: Installing ReDroid with scrcpy and Docker

sudo apt install docker.io scrcpy android-tools-adb -y

Then run the ReDroid container:

sudo docker run -d -p 5555:5555 -v ~/redroid-data:/data \
  --restart unless-stopped --name redroid --privileged \
  cnflysky/redroid-rk3588:13.0.0-latest \
  androidboot.redroid_height=1920 androidboot.redroid_width=1080

Note: This setup is currently only functional on devices using Panfrost .

:arrows_counterclockwise: Connecting and Launching with scrcpy

Use this command to connect to the container:

adb disconnect localhost:5555 && adb connect localhost:5555 && scrcpy -s localhost:5555

:zap: Optional: Create a Convenient Alias (Malior Shortcut)

Edit your .bash_aliases file:

nano ~/.bash_aliases

Add the following alias:

alias malior="malior-droid stop && adb disconnect localhost:5555 && malior-droid start && adb connect localhost:5555 && scrcpy -s localhost:5555 && malior-droid resize 720x1280"

Then reload your aliases or restart your terminal. Run it by simply typing:

malior

:globe_with_meridians: Change Language to English

To switch the Android interface to English:

  1. Open the Android settings inside the container.
  2. Navigate to Language & Input .
  3. Select English from the list.

:package: Installing APKs

Just drag and drop your .apk file into the Android window launched via scrcpy . It will automatically install.

πŸ§‘πŸ»β€πŸ”¬ Required Kernel Modules for Android Support

To ensure Android (especially via ReDroid ) functions correctly on your ARM-based Linux system, the following kernel configuration options must be enabled or set appropriately:

CONFIG_STAGING=y
CONFIG_ASHMEM=y
CONFIG_ANDROID_BINDER_IPC=y
# CONFIG_ANDROID_BINDERFS is not set
CONFIG_ANDROID_BINDER_DEVICES="binder,hwbinder,vndbinder"
# CONFIG_ANDROID_BINDER_IPC_SELFTEST is not set
CONFIG_ESD_FS=y

:pushpin: Notes:

  • CONFIG_ASHMEM and CONFIG_ANDROID_BINDER_IPC are essential for Android compatibility.
  • CONFIG_ANDROID_BINDER_DEVICES must support the three primary binder interfaces: binder , hwbinder , and vndbinder .
  • Do not enable CONFIG_ANDROID_BINDERFS unless specifically requiredβ€”some Android implementations may not yet support it.
  • CONFIG_ESD_FS enables ESD file system support, which may be required by specific Android runtime components.

πŸ§‘πŸ»β€πŸ”§ Fixing Google Play Store Certification (Device ID Registration)

To enable access to the Google Play Store and pass SafetyNet/Play Protect on your Android system (e.g., ReDroid via Malior-Droid), follow these steps:

:white_check_mark: Steps to Become Certified:

  1. Install a Device ID App
  • Download and install any APK that shows your Google Services Framework (GSF) Device ID (e.g., Device ID by Evozi ).
  1. Register Your Device ID with Google
  1. Restart Malior-Droid
  • Stop and start Malior-Droid again.
  • Manually add your Google account via Settings > Accounts .
  1. Install Apps Easily
  • Use tools like APKPure .
  • Drag and drop APKs into the emulator window or install via ADB/Scrcpy.
  • Enjoy full Play Store compatibility and app installations.


Waydroid on Panthor

Credit: Thanks to @Willzen β€” the Armbian vendor kernel now supports Panthor , making Waydroid installation and execution possible!

:hammer_and_wrench: Installation Steps

  1. Install Required Packages
sudo apt install curl ca-certificates -y
curl https://repo.waydro.id | sudo bash
sudo apt install waydroid -y
  1. Download the Panthor Image
wget https://github.com/WillzenZou/armbian_fork_build/releases/download/willzen-armbian-24.5.0/2.waydroid-panthorv10-240416-v1.img.tar.gz
  1. Extract and Move the Image
cd /usr/share
sudo mkdir -p waydroid-extra/images
cd
sudo tar -xf 2.waydroid-panthorv10-240416-v1.img.tar.gz -C /usr/share/waydroid-extra/images
  1. Initialize Waydroid with the Panthor Image
sudo waydroid init -f -i /usr/share/waydroid-extra/images

:jigsaw: Enable Multi-Window Support (Optional)

A. Basic Resizing Support

sudo waydroid container stop
waydroid session stop
sudo waydroid prop set persist.waydroid.multi_windows true
waydroid session start
waydroid show-full-ui

B. Manually Set Resolution

sudo waydroid container stop
waydroid session stop
sudo waydroid prop set persist.waydroid.multi_windows true
sudo waydroid prop set persist.waydroid.width 720
sudo waydroid prop set persist.waydroid.height 1280
systemctl restart waydroid-container
waydroid session start

:shopping_cart: Install Google Play Store

Use this community-maintained script to install OpenGApps, Magisk, libhoudini, and libndk:

A. Clone the Script

sudo apt install lzip -y
git clone https://github.com/casualsnek/waydroid_script
cd waydroid_script
python3 -m venv venv
venv/bin/pip install -r requirements.txt
sudo venv/bin/python3 main.py

B. In the Script UI:

  • Select Android 13 β†’ choose GApps and/or MicroG
  • Works with Waydroid based on Android 11

:package: Other Useful Commands

waydroid app install com.app.apk      # Install app
waydroid app launch com.app           # Launch installed app
waydroid app list                     # List all installed apps

Main Post > [Guide] :desktop_computer: Top Options for a Single-Board Computers!