LinuxにAndroid環境を作りたい

目次

主の環境はKubuntu(24.04)です

linuxで使えるAndroidエミュレーターとしては検索するとAnboxがでてきますが

alt text

https://github.com/anbox/anboxより

とある通り開発停止しています。そこでanboxからも提案されているWaydroidというエミュレーター?を使っていきます。

Waydroid

Waydroid 公式サイト

Linuxでのみ使えるAndroidエミュレーター?です。?というのはコンテナを使っているので厳密にはエミュレーターとは違うとか。Linuxのみで使えるのでBlueStacksのように有名ではありませんがLinuxの中では有名かと。

ドキュメントも割としっかりしています。

インストール

Waydroid インストールページ

基本は公式の手順通りにやっていくだけです。

なお環境はubuntu 24.04のKDE環境です。

必要なパッケージをインストール

sudo apt install curl ca-certificates -y

リポジトリの登録

curl -s https://repo.waydro.id | sudo bash

インストール

sudo apt install waydroid -y

初回起動後は下画面のようになります。

alt text

VANILLAとGAPPSの違いはGoogleアプリが最初からインストールされているかどうか。今回はGAPPSで行います。Playストアつかいたいからね。

インストールが完了したらDone

alt text

起動しようとしますが起動できません。

これは私の環境ではディスプレイサーバーがx11だったためです。waydroidの名前の通りwayland環境でのみ動作します。ということでwaylandに変更します。

KubuntuでWayland環境

というとでwaylandに変更すると問題なく起動できました。

alt text

アプリの配置とか時間がずれていたりと少しおかしなところはあります。

初期設定

インターネット

alt text

google playストアを使おうとするとインターネットにつながっていないことがわかります。これはplayストアだけでなくブラウザも使えません。ということでファイアウォールの設定を変更します。

https://docs.waydro.id/debugging/networking-issues

sudo ufw allow 53
sudo ufw allow 67
sudo ufw default allow FORWARD

↑ubuntuだったらこれでいけると思います。ただこの正解にたどり着く前にip設定等色々いじったのでipアドレス設定などはする必要あるかも。

はあ。これでクソほど時間取られた。ちゃんと公式のドキュメント読め。

playストア

android端末がgoogleに登録されていないとGoogleに認証されてないので

sudo waydroid shell
ANDROID_RUNTIME_ROOT=/apex/com.android.runtime ANDROID_DATA=/data ANDROID_TZDATA_ROOT=/apex/com.android.tzdata ANDROID_I18N_ROOT=/apex/com.android.i18n sqlite3 /data/data/com.google.android.gsf/databases/gservices.db "select * from main where name = \"android_id\";"

↑で表示された値を使って認証する。この値をコピーしたら↓のサイトへ

https://www.google.com/android/uncertified

Google サービス フレームワーク… に先程の値をペースト、登録。

登録申請してから実際に使えるようになるまでは数時間必要だったりすぐに認証されたりと色々だそうです。私の場合はすぐに使えるようになりました。 これでplayストアからアプリのインストールが可能になりました。

画面サイズ

画面サイズは基本的に起動時にアクディブなディスプレイに最大サイズで表示されます。これがキーボードの表示でうまくいかなかったりそもそもスマホっぽくなので縦長に設定します。

waydroid session stop
waydroid prop set persist.waydroid.width 700
waydroid prop set persist.waydroid.height 1080

これで縦1080、横700の大きさになる。FHDならこれで丁度いいかなと。(サブモニターなのでタスクバー等を考慮していませんでした。)

↓こんな感じ

alt text

日本語環境

設定のシステムから日本を選ぶことで日本語環境になります。ただこれだけだけでは日本語入力はできません。キーボードも数字、記号、アルファベットのみとなっています。

playストアからGboardをインストールして日本語を設定すれば日本語入力も可能になります。スクリーンキーボードも使えますがパソコン同様に物理キーボード入力も可能で普通にスペースで変換ができます。

参考