Android: code-server環境構築

Android端末にcode-serverの環境を構築します。
code-serverはVisual Studio Code(のようなもの)をWebブラウザで動かすためのソフトウェアです。code-serverを入れることで、Androidでのプログラミングが一層捗ります。
github.com

以降の操作はAndroid上で行います。
Fire HD 10 Plus(第11世代)でも同様の方法で環境構築できています。

Android環境

  • 機種:OPPO A5 2020 (CPH1943)
  • OS:ColorOS V7.1 (Android10)
  • プロセッサ:Qualcomm(R) Snapdragon(TM) 665
  • RAM:4GB

code-server環境構築手順

1. Termuxのインストール

TermuxというLinuxエミュレータ上に環境を構築するため、Termuxをインストールします。
ikuyani.hateblo.jp

以降はすべてTermux上での作業となります。Androidスマホは画面が小さいため、Vysorなどを使いPCからスマホを操作できるようにすると作業が楽になります。
Vysor:https://www.vysor.io/

2. Ubuntu in Termuxのインストール

Termux上でのcode-server構築がうまくいかなかったので、Termux上でUbuntuを動かし、その上にcode-serverを構築します。
ikuyani.hateblo.jp

3. code-serverのインストール

3-1. Ubuntuを起動します。

~/ubuntu-in-termux $ ./startubuntu.sh
root@localhost:~#

3-2. code-serverのダウンロードに必要なソフトウェアをインストールします。

# apt update
# apt install -y wget

3-3. code-server(ここでは4.4.0)をダウンロードし、展開します。

# wget https://github.com/coder/code-server/releases/download/v4.4.0/code-server-4.4.0-linux-arm64.tar.gz
# tar xvzf code-server-4.4.0-linux-arm64.tar.gz

code-serverの最新版のリンクは下記から linux-arm64 のファイルを探してください。
https://github.com/coder/code-server/releases

code-serverの実行は、ダウンロードしたバイナリファイルを実行するだけなので、インストール作業はありません。

4. code-serverの起動

展開したディレクトリ内にある「code-server」がcode-serverを起動するファイルです。
認証を省くため「--auth none」オプションを付けて実行します。

# cd code-server-4.4.0-linux-arm64
# ls
LICENSE                npm-shrinkwrap.json        README.md
out                    ThirdPartyNotices.txt      package.json
bin                    postinstall.sh             code-server
src                    lib                        typings
node                   yarn.lock                  node_modules
# ./code-server --auth none 

起動後、スマホWebブラウザで「http://localhost:8080」にアクセスすると、code-serverにアクセスできます。

スマホだと画面が小さくてモニタ出力しないと使いづらいです。10インチタブレットのFire HD 10 Plusではそれなりに満足に使えています。

またパソコンなど他の端末からアクセスする場合は、code-server起動時に「--host 0.0.0.0」オプションを付けます。

# ./code-server --auth none --host 0.0.0.0

そもそもパソコンからならVS Code使えばいいじゃんって話ですが…。とはいえ、スマホに入れても持ち運べるプログラミング開発環境としての利用価値はあるかもしれません。

日本語化や各種プログラミング言語対応は拡張機能で可能なので、必要に応じて機能追加してください。