AndroidアプリTermuxによるスマートフォンに於ける開発環境の構築

最近食欲減少傾向にあるグローザ一条寺である。今回は、スマートフォンに於けるオフライン開発環境の構築方法について書いていこうと思う。

Termuxとは如何なる物か

Termuxとは、非root端末でもLinuxライクな環境を構築できるLinuxエミュレーターで、これを使うと、わざわざストアからサイズのデカいアプリ(例:sshクライアントなど)をインストールしなくともこのエミュレーター一本であらゆる作業が出来てしまう正にUnix系オタク歓喜メロリンQな珠玉な一本である。

何ができるのか

プログラミングからサーバーへのログイン、rootを取ればパケットキャプチャが動き、任意のパケットをキャプチャーすることができる。またAPIを使うことによりメールを送信したり、電話を掛けたりすることが可能になる。APIの詳細についてはこちらを参照していただきたい(https://termux.com/add-on-api.html)。基本的に権限さえあれば何でもできるので、スマホをWebサーバー化させることも可能。パッケージインストールコマンドはaptとpkgの二つであり、これらで任意のパッケージをインストールできる。aptの方が機能が多かった記憶が在る。

環境の構築

まずapt install vimVimをインストールする。しかしこのままでは日本語入力できないので、VImで.vimrcを作成、編集する。

set number
set encoding=utf-8[f:id:ranpokun:20171122225638p:plain]
set finleencoding=iso-2022-jp,euc-jp,sjis,utf-8
set fileformats=unix,dos,mac

保存し、任意の処理系をインストールする。本記事ではRubyをインストールした。なおC言語コンパイラは在ったが、Rustのコンパイラは無かった。

apt install ruby

処理系に対して引数を渡して動作を確認し、引数通りの動きをすれば、開発環境構築は完了である。以下の例はRuby処理系に「-v」を渡した例である。

ruby 2.4.1p111 (2017-03-22 revision 58053) [aarch64-linux-android]

このアプリの機能的価値

このエミュレータの第一の価値はオフラインでもプログラミング可能で、かつroot化不要という所である。以下の画像を見てほしい。
f:id:ranpokun:20171122225638p:plain
この画像では機内モードで敢えてオフライン環境を作り出し、気色悪いRubyコードを走らせている。メッセージの内容はこの際どうでもいいのだが、着目すべきはここである。今までのAndroid向けプログラミングアプリは、ソースコードを一旦ネットワーク上のサーバーに送信し、サーバーで実行した結果を返すというもので、原理としてはミネルバhttps://the01.jp/p0002414/)に近い。このアプリの問題点は、単純にオフラインでは、サーバーにコードを送信できないので実行結果を見ることができない、すなわち学習が滞ってしまう点である。Termuxは、これら問題点に対する要求にすべて答えているのでオフラインでも安定的に学習できる。

操作方法

このエミュレーターは他のエミュレータより高機能であるが、かなり癖が強いことでも知られている。その点についても解説していく。

まず、仮想キーボードを表示させる方法であるが、画面右側をスワイプしてほしい。するとメニューが開き、そこに在るKEYBOARDをタップすると仮想キーボードが開く。なお長押しするとキービューがキーボードの上に追加される。これについては後ほど説明する。
f:id:ranpokun:20170917182810p:plain
f:id:ranpokun:20170917182902p:plain
キービューにはLinux愛用者にとって無くてはならないキー達が収録されている。ESC、CTRL、TAB、は最低限使うだろう。そしてこのキービューこそ、このエミュレータの欠点の一つである。実はこのエミュレーターGoogle日本語入力やSimeji、ATOKなどのIMEからでは、直接入力することが出来ないのである。これを知った時にはさすがに愕然とした。なお、これについてはTermux開発者側も認めており(https://termux.com/touch-keyboard.html)、キービューを左にスライドさせることで、入力ビューを開くことができそこから入力できる。因みにプリインストールされたIMEやHacker's Keyboardでは直接入力が可能であるが日本語入力は入力ビューからでないと行えないので注意が必要(そもそもHacker's Keyboardでは日本語入力は今の所行えないが)。

欠点

列挙していくと。

  • IMEによっては直接入力が不可でどのIMEでも日本語の直接入力がサポートされていない。
  • レポジトリが貧弱すぎる。
  • エミュレーター内で作成したファイルの取り出しは可能であるが、エミュレーター外で作成したファイルを内に入れることが権限上出来ない。

と行った所である。今後のTermuxの発展に期待する。

仏教用語を勉強してます。

最近覚えたのは「サマーディ」と「善果」それから「悪趣」です。
仏教用語は日本語との関連も深く、またこれは元を辿れば梵語サンスクリット語)なのでこれはこれで別の面白さがあります。
因みに「馬鹿」の語源は梵語の moha で無知の意があります。元は僧侶の隠語だそうです。

このブログについて

概要

当ブログは、0chiaki氏(現Packard Mnowben氏)の無能ブログ、K3氏のFuckin' Kingdom、岸田裁月氏岸田邸に強い影響を受けています。

リンクについて

当ブログへのリンクは自由です。
私が午前0:00から6:30分まで徹夜して作ったクッソ完成(感性)度の低いバナーもあります。こちらも使用当は自由です。尚、このバナーを作成するにあたってK3氏が作成したバナーを参考にしました。本当にありがとうございました。
f:id:ranpokun:20170401104123p:plain
f:id:ranpokun:20170401104157p:plain
f:id:ranpokun:20170401104133p:plain
f:id:ranpokun:20170401104232p:plain
f:id:ranpokun:20170401104320p:plain

当ブログの権利

当ブログに於ける文章、画像などにつきましては、GNUなんちゃらライセンスに属してはいませんが完全フリーです。