インストール - WayDroid

提供:MochiuWiki : SUSE, EC, PCB
ナビゲーションに移動 検索に移動

概要

Waydroidは、Ubuntuのような通常のGNU/Linuxシステム上で完全なAndroidシステムを起動するコンテナベースのアプローチである。
Linuxの名前空間(user、pid、uts、net、mount、ipc)を使用して、コンテナ内で完全なAndroidシステムを実行して、GNU/Linuxベースのプラットフォーム上でAndroidアプリケーションを提供する。

コンテナ内のAndroidは、必要なハードウェアに直接アクセスできる。
また、Androidランタイム環境は、LineageOSをベースにカスタマイズされた最小限のAndroidシステムイメージとともに出荷される。
2024年4月現在、使用されているイメージはAndroid 11に基づいている。

WayDroidは、Debian(Mobian)、UBPorts等のWayland環境のみ動作することに注意すること。

Waydroidの詳細を知りたい場合は、Waydroidの公式ドキュメントまたはMobianの公式Wikiを参照すること。


依存関係のライブラリのインストール

WayDroidを動作させるため、依存関係のライブラリをインストールする。

Debian / Mobian

sudo apt install curl ca-certificates python3 lxc 
# または
sudo apt install curl ca-certificates python3 \
                 apparmor arch-test bridge-utils busybox-static debootstrap distro-info mmdebstrap uidmap uuid-runtime \
                 fakechroot libdistro-info-perl libfakechroot liblxc1 libpam-cgfs lxc lxc-templates lxcfs


Manjaro ARM

sudo pip install pyclip
# または
sudo pamac build python-pyclip


次に、/boot/boot.txtファイルを以下のように編集する。

sudo vi /boot/boot.txt


# /boot/boot.txtファイル

# 編集前
setenv bootargs loglevel=4 console=tty0 console=${console} earlycon=uart,mmio32,0x01c28000 consoleblank=0 boot=PARTUUID=${uuid_boot} root=PARTUUID=${uuid_root} rw rootwait quiet audit=0 bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash

# 編集後
setenv bootargs loglevel=4 console=tty0 console=${console} earlycon=uart,mmio32,0x01c28000 consoleblank=0 boot=PARTUUID=${uuid_boot} root=PARTUUID=${uuid_root} rw rootwait quiet audit=0 bootsplash.bootfile=bootsplash-themes/manjaro/bootsplash psi=1


設定を適用するため、U-bootをアップデートする。

sudo pp-uboot-mkscr



WayDroidのリポジトリの登録

Debian / Mobian

WayDroidのリポジトリを登録する。
もし、Linuxディストリビューションの検出に失敗した場合は、-s <ディストリビューション名>オプションを付加する。
現在サポートされている値は、以下の通りである。

  • bookworm
  • bullseye
  • sid
  • mantic
  • focal
  • jammy
  • kinetic
  • lunar
  • noble
  • trixie
curl https://repo.waydro.id | sudo bash
または
curl https://repo.waydro.id | sudo bash -s <ディストリビューション名>


パッケージ管理システムを更新する。

sudo apt update



WayDroidのインストール

Debian / Mobian

Waydroidをインストールする。

sudo apt install waydroid


次に、WayDroidの初期化プロセスを開始する。

sudo waydroid init


WayDroidコンテナデーモンを起動する。

# Mobian
sudo start waydroid

# Debian
sudo systemctl start waydroid-container


Manjaro ARM

WayDroidをインストールする。

sudo pacman -S waydroid waydroid-image
sudo pkexec setup-waydroid


この時、/var/lib/waydroid/waydroid_base.propファイルの内容の一部に誤りがあるため、修正する。

sudo vi /var/lib/waydroid/waydroid_base.prop


# /var/lib/waydroid/waydroid_base.propファイル

# 編集前
...略
ro.product.waydroid.model=Pine64 PinePhone (1.2)^@
ro.product.waydroid.name=^@

# 編集後
...略
ro.product.waydroid.model=Pine64 PinePhone (1.2)
ro.product.waydroid.name=


次に、WayDroidの初期化プロセスを開始する。
Waydroidを起動する時、自動的に最新のAndroidイメージがダウンロードされる。

sudo waydroid init


WayDroidコンテナデーモンを起動する。

sudo systemctl start waydroid-container
# または
sudo start waydroid


WayDroidコンテナデーモンを自動起動する場合、以下のコマンドを実行する。

sudo systemctl enable waydroid-container


WayDroidコンテナデーモンを起動した後、WayDroidセッションをアクティブにする。

waydroid session start


WayDroidセッションと対話するためのコマンドを、以降のセクションに記載する。


手動でのWayDroidの起動

systemctlコマンドを使用せずにWayDroidを起動するには、以下の手順を行う必要がある。

  1. まず、WayDroidコンテナを起動する。
    sudo waydroid container start
  2. 次に、ターミナルを起動して、WayDroidセッションを開始する。
    この時、"Android with user 0 is ready"と表示された後、アプリケーションメニューからWayDroidを起動する。
    waydroid session start



ネットワークの設定

必要な場合は、WayDroidのセッションを開始する前に、ファイアウォールにおいて以下のようなルールを許可する。

以下の例では、ufwを使用している。

# DNSトラフィックを許可する場合
ufw allow 67
ufw allow 53

# パケット転送を許可する場合
ufw default allow FORWARD



WayDroidをフルスクリーンモードで起動する

まず、WayDroidを起動する。

# Debian
sudo waydroid container start

# Mobian
sudo start waydroid


WayDroidの起動中に、以下のコマンドを実行する。

waydroid show-full-ui



マルチウィンドウモードでWayDroidを起動する

WayDroidのセッションが実行されている間に、プロパティを設定する必要がある。

waydroid prop set persist.waydroid.multi_windows true


次に、WayDroidコンテナデーモンを再起動する。
Androidのソフトウェアを起動する準備が整い、マルチウインドウモードで起動できるようになる。

sudo systemctl restart waydroid-container



Androidソフトウェアのインストール

Androidソフトウェアをインストールする。

waydroid app install <APKファイルのパス>


Web上に存在するAPKファイルは、ARM /AArch64のみサポートしている傾向が多いため、x86 64のPCでは動作しない。
その場合、F-Droidをインストールしてアプリケーションを取得することを推奨する。

または、GAppsイメージをインストールした場合は、Playストアを使用することができる。


Androidソフトウェアの実行

インストールしたAndroidソフトウェア名を確認する。

waydroid app list


インストールしたAndroidソフトウェアを実行する。

waydroid app launch <Androidソフトウェア名>


また、アプリケーションメニューからアプリケーションを起動することもできる。

その他、Androidパッケージ名(com.xxx.yyy)が既に分かっている場合は、コマンドラインを実行して起動することもできる。

waydroid app launch <Androidパッケージ名  例: com.xxx.yyy>



WayDroidのアンインストール

まず、WayDroidのセッションとコンテナを停止する。

waydroid session stop
sudo waydroid container stop


次に、WayDroidをアンインストールする。

sudo apt purge waydroid


Linuxを再起動する。

sudo systemctl reboot


再起動後、以下のディレクトリを削除する。

sudo rm -rf /var/lib/waydroid /home/.waydroid ~/waydroid


再インストールする場合は、再度、WayDroidをインストールして初期化プロセスを開始する。

sudo apt install waydroid
sudo waydroid init



エラー

まず、WayDroidが最新であることを確認する。

waydroid upgrade


WayDroidコンテナデーモンを停止して、不要なファイルを削除する。

sudo systemctl stop waydroid-container

sudo rm -rf ~/waydroid ~/.share/waydroid ~/.local/share/waydroid "~/.local/share/applications/*aydroid*"
sudo rm -rf /var/lib/waydroid /home/.waydroid


WayDroidを再初期化して、WayDroidコンテナデーモンを開始する。

sudo waydroid init -f
sudo systemctl start waydroid-container 


より詳細なことを知りたい場合は、公式WebサイトのWaiDroid Issue Trackerを参照すること。