🍺

Windows環境のDockerコンテナからAndroid Studioを実行してみた話

2022/03/12に公開

きっかけ

Windowsに直接インストールせずにAndroidStudioを試してみたいなって思いました。

手順

前提

  • Windows 10
  • Dockerが使用可能な状態であること
  • WinGetが使用可能な状態であること

Windowsにウィンドウを表示する準備

https://zenn.dev/dozo/articles/3ef1565b2b069e

を参考に「Vcxsrv」(Windows上で動作するXサーバー)を使用することにしました。

インストールはWinGetから行いました。

winget install marha.VcXsrv

XLaunchのアイコンがデスクトップアイコンやスタートメニューが作成されるのでそれを起動します。

設定項目は変更せずにNextを進めます。

おそらく初回はWindowsファイヤーウォールのダイアログが表示されるので許可します。

Dockerfile

https://developer.android.com/studio/install?hl=ja#linux

に記載のLinuxのディストリビューションがUbuntuとFedoraのみだった為、一応Ubuntuのイメージからコンテナを作成することとしました。

上記に記載のあるものだけインストールして実行するとエラーして起動しなかったため、試行錯誤の末に以下となりました。

Dockerfile
FROM ubuntu:22.04
WORKDIR /tmp/

ARG ANDROIDSTUDIO_VERSION=2021.1.1.22

ENV DISPLAY host.docker.internal:0.0

RUN dpkg --add-architecture i386 \
    && apt-get update -y \
    && apt-get install -y \
        lib32z1 \
        libbz2-1.0:i386 \
        libc6:i386 \
        libfreetype6 \
        libncurses5:i386 \
        libstdc++6:i386 \
        libxi6 \
        # libxi6:i386 \
        libxrender1 \
        # libxrender1:i386 \
        libxtst6 \
        # libxtst6:i386 \
        wget \
        wmname \
    && cd /opt \
    && wmname LG3D \
    && wget "https://redirector.gvt1.com/edgedl/android/studio/ide-zips/${ANDROIDSTUDIO_VERSION}/android-studio-${ANDROIDSTUDIO_VERSION}-linux.tar.gz" \
    && tar -zxvf "android-studio-${ANDROIDSTUDIO_VERSION}-linux.tar.gz" \
    && rm -f "android-studio-${ANDROIDSTUDIO_VERSION}-linux.tar.gz" \
    && apt-get clean -y \
    && echo end

CMD /opt/android-studio/bin/studio.sh

現時点では特に設定するものは無いのですが普段からdocker-composeで上げ下げしているのでDockerfileと同じフォルダにdocker-compose.ymlを作成します。

docker-compose.yml
version: '3.4'

services:
  as:
    build: .

まとめ

Windowsで例えば別のバージョンのAndroid Studioをちょっと試したい位であれば
Windows Sandboxで事足りそうな気がしましたが、何かの参考になれば幸いです。

お疲れさまでした。

Discussion