BottlesでLINEを使用していたが、以下のようなシステムファイルの電子署名検証が原因でエラーとなってしまう。
Security verification failed.
The following files failed security verification:
Restore binary process will be start.
File: C:\windows\system32\CRYPT32.dll
Reason: NO_SIGNATURE
古いバージョンのLINEをインストールすれば使えてはいたのだけど、勝手にアップデートされたりするので使用を諦めて、 WaydroidをインストールしてLINEを使うことにした。
とりあえず、 (1) How To Run Android Apps Within POP!_OS Using WayDroid - YouTubeを見て真似し実行したが、半年しか経ってないのに、上手く行かなかった。失敗も含めて書き残しておく。
binderfs機能が最初からカーネル本体1にネイティブで組み込まれているので、以下のAnboxカーネルモジュールのインストール処理は不要だった。
Anboxカーネルモジュールのインストール処理(やってはいけない)
$ git clone https://github.com/choff/anbox-modules
$ cd anbox-modules
$ sudo ./INSTALL.sh
・・・中略・・・
modprobe: ERROR: could not insert 'binder_linux': Device or resource busy
ls: '/dev/binder' にアクセスできません: そのようなファイルやディレクトリはありません
chmod: 参照先がないシンボリックリンク '/dev/binder' を操作できません
chmod: 参照先がないシンボリックリンク '/dev/hwbinder' を操作できません
chmod: 参照先がないシンボリックリンク '/dev/vndbinder' を操作できません
とsudo ./INSTALL.shすると失敗する。しかも、不用意に行うと、私の場合は、Waydroid起動時にカーネルパニックが起こり、一度綺麗にして再起動する必要があった。
以下は、sudo ./INSTALL.shを実行してしまった場合のクリーニング処理となる。
クリーニング処理(本来は不要)
不要なDKMSモジュールを削除する。
$ sudo dkms remove anbox-binder/1 --all
Module anbox-binder-1 for kernel 7.0.11-76070011-generic (x86_64).
Before uninstall, this module version was ACTIVE on this kernel.
binder_linux.ko.zst:
- Uninstallation
- Deleting from: /lib/modules/7.0.11-76070011-generic/updates/dkms/
- Original module
- No original module was found for this module on this kernel.
- Use the dkms install command to reinstall any previous module version.
depmod...
競合しているリンクとマウントを削除する。
$ sudo umount /dev/binderfs 2>/dev/null
$ sudo rm -rf /usr/src/anbox-binder-1
$ sudo rm -f /etc/modules-load.d/anbox.conf /lib/udev/rules.d/99-anbox.rules
$ sudo rm -f /dev/binder /dev/hwbinder /dev/vndbinder
$ sudo rm -rf /dev/binderfs
binder_linuxは古い外部拡張のカーネルモジュール名なので、Pop!_OS 24.04(カーネル7.x系)では存在せずエラーとなる。modprobeコマンドでの読み込みも不要である。削除後、sudo rebootして再起動する。
$ sudo rmmod binder_linux
rmmod: ERROR: Module binder_linux is not currently loaded
$ sudo modprobe binder_linux devices=binder,hwbinder,vndbinder
modprobe: FATAL: Module binder_linux not found in directory /lib/modules/7.0.11-76070011-generic
カーネル内蔵のbinderfs機能を直接マウントする
-
binderfs のマウントとシンボリックリンク作成
$ sudo mkdir -p /dev/binderfs $ sudo mount -t binder binder /dev/binderfs $ ls -l /dev/binderfs 合計 0 crw------- 1 root root 240, 1 8月 10 09:03 binder crw------- 1 root root 240, 0 8月 10 09:03 binder-control drwxr-xr-x 2 root root 0 8月 10 09:03 features crw------- 1 root root 240, 2 8月 10 09:03 hwbinder crw------- 1 root root 240, 3 8月 10 09:03 vndbinder $ sudo ln -sf /dev/binderfs/binder /dev/binder $ sudo ln -sf /dev/binderfs/hwbinder /dev/hwbinder $ sudo ln -sf /dev/binderfs/vndbinder /dev/vndbinder $ ls -l /dev/binder lrwxrwxrwx 1 root root 20 8月 10 09:04 /dev/binder -> /dev/binderfs/binder -
binderfsが自動マウントされるように設定する。毎回のブート時に/dev/binderfsが再作成されるように構成する。$ sudo bash -c 'cat << "EOF" > /etc/tmpfiles.d/binderfs.conf d /dev/binderfs 0755 root root - L+ /dev/binder - - - - /dev/binderfs/binder L+ /dev/hwbinder - - - - /dev/binderfs/hwbinder L+ /dev/vndbinder - - - - /dev/binderfs/vndbinder EOF' $ sudoedit /etc/fstab $ sudo systemd-tmpfiles --create $ echo "binder /dev/binderfs binder defaults,x-systemd.mkdir 0 0" | sudo tee -a /etc/fstab binder /dev/binderfs binder defaults,x-systemd.mkdir 0 0
Waydroidをインストール
$ sudo apt install curl ca-certificates -y
$ curl -s https://repo.waydro.id | sudo bash
$ sudo apt install waydroid
$ sudo systemctl restart waydroid-container
$ sudo systemctl status waydroid-container
● waydroid-container.service - Waydroid Container
Loaded: loaded (/usr/lib/systemd/system/waydroid-container.service; enabled; preset: enabled)
Active: active (running) since Mon 2026-08-10 10:08:44 JST; 7s ago
Main PID: 33031 (waydroid)
Tasks: 2 (limit: 30738)
Memory: 16.1M (peak: 16.5M)
CPU: 103ms
CGroup: /system.slice/waydroid-container.service
└─33031 /usr/bin/python3 /usr/bin/waydroid container start
8月 10 10:08:44 pop-os systemd[1]: Starting waydroid-container.service - Waydroid Container...
8月 10 10:08:44 pop-os systemd[1]: Started waydroid-container.service - Waydroid Container.
UFWのルーティングブロックを解除
sudo waydroid init -s GAPPSでGoogle Playをインストールすると、Google Play services keeps stoppingと表示されて安定しないため、UFWでwaydroid0インターフェースの通過を許可する。
$ sudo ufw route allow in on waydroid0
$ sudo ufw allow in on waydroid0
$ sudo ufw reload
$ sudo ufw status verbose
状態: アクティブ
ロギング: on (low)
Default: deny (incoming), allow (outgoing), deny (routed)
新しいプロファイル: skip
To Action From
-- ------ ----
Anywhere on waydroid0 ALLOW IN Anywhere
Anywhere (v6) on waydroid0 ALLOW IN Anywhere (v6)
Anywhere ALLOW FWD Anywhere on waydroid0
Anywhere (v6) ALLOW FWD Anywhere (v6) on waydroid0
Waydroidはホストと仮想ネットワークwaydroid0で通信するので、Android側からはデフォルトでEthernet(有線LAN)として認識されて、そのままインターネットに繋がるようになる。
ARMアプリ動作に必要なlibndkとmicroGを導入
しかし、それでも動作が不安定に感じられたことに加え、仮にGoogle Playを入れるとしても専用アカウントを用意するのが面倒だったため、Googleサービス無しのVANILLA+microGで進めることにした。
sudo rm -rf /var/lib/waydroid ~/.local/share/waydroidでデータを削除し、sudo waydroid initで初期化し直した。
$ sudo waydroid init
$ 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 install microg libndk
INFO: MicroG-Standard installation finished
$ waydroid session stop
$ waydroid session start
xapk形式のLINEをインストールする
APKPure - Android向けゲームとアプリを無料でダウンロードからLINEのapkを探したが、xapk形式しか見つからなかった。waydroid app install LINE_+Calls+\&+Messages_15.15.1_APKPure.xapkとしてもインストールできない。xapkはapkなどをまとめたアーカイブ形式なので、解凍してadbで接続してインストールする。
$ unzip 'LINE_+Calls+&+Messages_15.15.1_APKPure.xapk'
Archive: LINE_+Calls+&+Messages_15.15.1_APKPure.xapk
extracting: jp.naver.line.android.apk
extracting: icon.png
extracting: config.mdpi.apk
extracting: config.armeabi_v7a.apk
extracting: manifest.json
$ sudo waydroid shell ip addr show eth0
2: eth0@if8: <BROADCAST,MULTICAST,UP,LOWER_UP> mtu 1500 qdisc noqueue state UP group default qlen 1000
link/ether 00:16:3e:f9:d3:03 brd ff:ff:ff:ff:ff:ff link-netnsid 0
inet 192.168.240.112/24 brd 192.168.240.255 scope global eth0
valid_lft forever preferred_lft forever
inet6 fe80::1b38:b831:1a5a:f34f/64 scope link stable-privacy
valid_lft forever preferred_lft forever
$ adb connect 192.168.240.112:5555
already connected to 192.168.240.112:5555
$ adb install-multiple jp.naver.line.android.apk config.armeabi_v7a.apk config.mdpi.apk
Success
waydroid prop get persist.waydroid.host_ipやsudo waydroid shell ip -4 addr show eth0 | grep -oP '(?<=inet\s)\d+(\.\d+){3}'ではWaydroidのIPアドレスが分からなかったため、sudo waydroid shell ip addr show eth0を実行して取得した。
Aurora Storeインストール
Aurora Storeはスクリプト経由のsudo ./venv/bin/python3 main.py install aurorastoreコマンドではインストールできなくなっている。
$ sudo ./venv/bin/python3 main.py install aurorastore
usage: main.py install [-h] [-c CA_CERT_FILE]
{gapps,microg,libndk,libhoudini,magisk,mitm,smartdock,widevine} [{gapps,microg,libndk,libhoudini,magisk,mitm,smartdock,widevine} ...]
main.py install: error: argument app: invalid choice: 'aurorastore' (choose from 'gapps', 'microg', 'libndk', 'libhoudini', 'magisk', 'mitm', 'smartdock', 'widevine')
しかし、F-Droid Clientとして AuroraDroidがインストール済みなので、F-Droidレポジトリ経由でインストールできる。
日本語入力は、 Gboard - the Google KeyboardなどをAurora Store経由でインストールすればできる。
CPUやメモリの消費量もBottlesより少なくなったうえ、動作も軽快だ。
-
Pop!_OS 24.04 LTS x86_64の Kernel: 7.0.11-76070011-generic の場合 ↩︎