本文へ移動
cccskills
無料GitHub で公開

waydroid

Use when setting up or troubleshooting Waydroid on Linux - installation and initialization, waydroid CLI, GPU and networking setup, GApps and Play certification, ADB integration, file sharing, or desktop environment integration

インストール方法を見る

含まれるファイル(5)

  • SKILL.md7.4 KB
  • references/advanced-config.md573 B
  • references/desktop-troubleshooting.md2.0 KB
  • references/gapps-adb-files.md1.7 KB
  • references/gpu-networking.md2.1 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Waydroid

Container-based Android for Linux with native Wayland integration.

Overview

Waydroid runs Android in a Linux container with near-native performance using namespaces (user, pid, uts, net, mount, ipc).

Key features:

  • Wayland Integration: Full support for Wayland compositors
  • GPU Acceleration: Hardware-accelerated graphics
  • Native Performance: Near-native speed vs emulators
  • LineageOS-based: Custom Android system images
  • binderfs: Android IPC mechanism for container-host communication

When Not to Use Waydroid

Use CaseBetter AlternativeTrade-off
Need full Google Play Services fidelityAVD (Android Virtual Device) with Google APIs imageAVD has higher overhead but complete Play Services compatibility
Testing hardware/GPU behaviorPhysical Android deviceOnly real hardware reproduces device-specific GPU bugs
Running 5+ concurrent devicesCloud device lab (Firebase Test Lab, AWS Device Farm)Cost increases with scale, but built-in device diversity
Headless CI runners without displayGenymotion Cloud or Android CI containersThese provide headless Android runtime without display requirements
Building apps only (no runtime)Android SDK command-line tools + GradleNo emulator overhead when you only need to compile

CLI Quick Reference

CommandPurpose
waydroid session startStart user session (after systemd container)
waydroid session stopStop user session, keep container running
sudo systemctl start waydroid-container.serviceStart the Waydroid container (systemd)
sudo systemctl stop waydroid-container.serviceStop the container completely
adb connect 192.168.250.1:5555Connect ADB over Waydroid's network socket
waydroid app install <apk>Install an APK from host filesystem
waydroid app launch <package>Launch an installed Android app
waydroid screenshotCapture current screen to host
waydroid pull /sdcard/filePull file from Android to host
sudo waydroid session stop && sudo rm -rf /var/lib/waydroid && sudo waydroid initPull/reset image to restore state

Note: ADB over socket requires the container to be running. For deeper troubleshooting, see references/desktop-troubleshooting.md.

First 10 Minutes: Troubleshooting Path

When something doesn't work, follow this symptom → check order:

SymptomCheckDepth
App won't installVerify image ABI: waydroid shell getprop ro.product.cpu.abi — x86_64 vs arm64-v8a mismatch requires different imagereferences/gpu-networking.md
No network in Androidip addr show waydroid0 — interface should exist; waydroid shell ping google.com — tests DNSreferences/gpu-networking.md
Audio not workingwaydroid shell media list-sinks — verify audio sinks; try waydroid prop set audio.oss 1references/desktop-troubleshooting.md
No hardware accelerationwaydroid shell dumpsys SurfaceFlinger — check GPU renderer; verify virgl supportreferences/gpu-networking.md
Container won't start`lsmodgrep binder— binder module loaded?;waydroid log` — check init errors

Most common fix: sudo systemctl restart waydroid-container.service && waydroid session stop && waydroid session start

Installation

Ubuntu/Debian

sudo apt install curl ca-certificates python3-gbinder python3-trio -y
curl https://repo.waydro.id | sudo bash
sudo apt install waydroid -y

Supported: focal, jammy, kinetic, lunar, mantic, noble (Ubuntu); bullseye, bookworm, trixie, sid (Debian).

Fedora

sudo dnf copr enable aleasto/waydroid
sudo dnf install waydroid

For Silverblue/Kinoite: rpm-ostree install waydroid

Arch Linux

yay -S waydroid
# Or from git:
git clone https://aur.archlinux.org/waydroid.git && cd waydroid && makepkg -si

openSUSE

sudo zypper addrepo https://download.opensuse.org/repositories/openSUSE:Tools/openSUSE_Tools.repo
sudo zypper install waydroid

Void Linux

sudo xbps-install -S waydroid

Initialization

Basic

sudo waydroid init

With GApps

sudo waydroid init -s GAPPS

Manual OTA URLs

sudo waydroid init \
  -s https://ota.waydro.id/system \
  -v https://ota.waydro.id/vendor

Starting Waydroid

Using systemd (recommended)

sudo systemctl start waydroid-container.service
sudo systemctl enable waydroid-container.service
waydroid session start

Manual (without systemd)

sudo waydroid container start
waydroid session start

Common Commands

App Management

waydroid app install /path/to/app.apk
waydroid app list
waydroid app launch com.package.name
waydroid app uninstall com.package.name

Shell Access

waydroid shell
waydroid shell pm list packages
waydroid shell getprop ro.product.model
waydroid shell su -c "ls -la /sdcard/"

UI Control

waydroid show-full-ui
waydroid screenshot
waydroid window set <fullscreen|windowed|tablet> [position]

Status and Info

waydroid status
waydroid log
waydroid log -cat main
waydroid log -cat all
waydroid prop get
waydroid prop get ro.product.model

Container Control

waydroid session stop
sudo waydroid container stop
sudo waydroid container restart

Deep Dives

These reference files contain detailed information loaded on demand:

Best Practices

  1. Use Wayland session: Required for Waydroid
  2. Keep system updated: Ensures compatibility
  3. Use GAPPS if needed: Required for many apps
  4. Check logs first: waydroid log for troubleshooting
  5. Use proper GPU drivers: Install appropriate drivers
  6. Enable ADB for complex tasks: More control
  7. Back up data: Located in /var/lib/waydroid/

References

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

aiohttp

無料

Use when building Python async HTTP services or clients with aiohttp - web server routing, middleware, WebSocket, SSE, streaming, client sessions, pytest-aiohttp testing, or troubleshooting SSL and timeout issues

日本語の概要は準備中です。原文の説明を表示しています。

CodeAtCode/oss-ai-skills222026年10月9日 更新

ast-grep

無料

Use when doing structural code search and rewriting - ast-grep linting, refactoring, multi-language patterns

日本語の概要は準備中です。原文の説明を表示しています。

CodeAtCode/oss-ai-skills222026年10月9日 更新

Use when building GBA games with the BPCore Lua engine - entity, sprite and tilemap functions, SRAM save and load, link cable multiplayer protocol, camera and scrolling, or optimization patterns

日本語の概要は準備中です。原文の説明を表示しています。

CodeAtCode/oss-ai-skills222026年10月9日 更新

celery

無料

Use when running background tasks with Celery - worker and broker configuration (Redis, RabbitMQ), task routing by name vs queue, chains/groups/chords, retry patterns (autoretry_for, retry_backoff), acks_late semantics, failure detection, and monitoring with Flower

日本語の概要は準備中です。原文の説明を表示しています。

CodeAtCode/oss-ai-skills222026年10月9日 更新

django

無料

Use when building Django applications - security hardening, authentication and permissions, ORM optimization, PostgreSQL features, Django 6.0, migrations, testing, and ecosystem libraries

日本語の概要は準備中です。原文の説明を表示しています。

CodeAtCode/oss-ai-skills222026年10月9日 更新

Use when customizing Django Admin - save_formset, get_search_results, formsets, queryset optimization, db_index, custom URLs

日本語の概要は準備中です。原文の説明を表示しています。

CodeAtCode/oss-ai-skills222026年10月9日 更新

CodeAtCode のスキルをすべて見る

このスキルの問題を報告する