🦾

anboxが起動しないときの対処法あれこれ

2022/03/01に公開

ぶっちゃけchromeOS入れるぐらいなら、ubuntuでwindows(wine)とanbox(android)で充分と毎日思っています。

・対象者:andoroid およびlinuxユーザー
kernel およびbinder入門
anboxでエラーなどで詰まってしまう人
android実機なしでエミュレートしたい方

基本は、anbox公式のインストール手順でいいと思います。
https://docs.anbox.io/userguide/install.html

ただ、OS内に/dev/binderのフォルダが、環境によってはデフォルトで存在していない場合があり

sudo mkdir /dev/binder
sudo mount -t binder binder /dev/binder

あらかじめフォルダをシステム内に作る必要があります。
https://askubuntu.com/questions/1267990/ls-1-dev-ashmem-binder-yields-anticipated-result-for-dev-ashmem-but-an-err

必ずしもashmemとbinder同時に必要とは限らない。みたいな会話がされているので、動作に不具合がある人はやってみるといいかも。

ちなみにbinderとはなんぞや?という人は、android エンジニアの方は必読↓
https://docs.google.com/presentation/d/17j6m6J3ExOkc4AlZZFEDWm3M9aDQHuSjrSOB8njcql4/htmlpresent
https://ja.visual-foxpro-programmer.com/android-hidl-source-code-analysis

$ ls -1 /dev/{ashmem,binder}
/dev/ashmem
/dev/binder
#sudo add-apt-repository ppa:morphis/anbox-support
#公式には、このリポジトリ書いてるけどlastedが2018になってるから、ubuntu22.04では使えないっぽい
sudo apt update
sudo apt install linux-headers-generic 
#anbox-modules-dkms⬅こっちも同じ(22.04およびdebain10では必要なさそう)
#初回のみ手動でカーネルの読み込み
sudo modprobe ashmem_linux
sudo modprobe binder_linux

ここで、先に/dev/binderのフォルダを作ってないと

ls: '/dev/binder' にアクセスできません: そのようなファイルやディレクトリはありません

とメッセージが出ます。

sudo apt install snapd snapd-xdg-open
sudo snap install --edge --devmode anbox
sudo apt install -y android-tools-adb android-tools-fastboot

で、インストールは完了したので起動コマンド。

anbox.appmgr

これで起動しない場合(下記のようなメッセージ)

anbox.appmgr
[ 2022-03-01 06:10:44] [launch.cpp:182@operator()] Session manager is not yet running, trying to start it
[ 2022-03-01 06:10:44] [launch.cpp:116@launch_session_manager] Started session manager, will now try to connect ..
[ 2022-03-01 06:10:45] [splash_screen.cpp:56@SplashScreen] Window has no associated renderer yet, creating one ...
[ 2022-03-01 06:11:40] [launch.cpp:214@operator()] Session manager failed to become ready

その場合は、

DRI_PRIME=1 anbox.appmgr

https://github.com/anbox/anbox/issues/1031
https://zarat.hatenablog.com/entry/2019/07/06/171700#iUbuntuにAnboxのPPAを加えPPA経由でanbox-module-dkmsをインストール

つまりそうなところだけ摘んで紹介しました。

こちらの方が詳しく書いているので追記
https://r-o-head.tk/post/anbox-android-compatible-layer-gapps/

ubuntuのコマンドからapkファイル(androidのパッケージ)をインストールする方法

adb install hogehoge.apk
#再インストールの場合は adb install -r hogehoge.apk

各エラーログと対処法
https://pentan.info/android/app/apk_error_list.html

apkファイルの入手先
https://apkpure.com/app

Discussion