Androidのデフォルトインストールには、極めて限定的な種類のUnix系コマンドラインツールが同梱されています。この選択肢を拡充するためのプロジェクトがいくつか存在しており、Unixコマンドラインユーティリティの再現性を高めたものから、無料のGNUおよびUnixソフトウェアを幅広く提供するパッケージリポジトリまで、さまざまなオプションが提供されています。
Busyboxは、Unixユーティリティと、wgetなどの特定の普及しているGNUプログラムの限定的なレプリカを、Android上で動作可能な単一の静的リンク済みLinuxバイナリで提供しています。
Termuxは、Debianプロジェクトのdpkgシステムに基づくパッケージマネージャと、C、C++、Java、Python、Common
Lispなどの言語向けのコンパイラ、デバッガ、ランタイムを含む、Unixシステム向けの膨大な量のフリーソフトウェアを収録した一連のパッケージリポジトリを提供しています。これらのパッケージは通常、専用のターミナルエミュレータアプリケーション内からインストールされますが、同じアプリケーション署名鍵でビルドされ、かつ「共有ユーザーID」がターミナルエミュレータプログラムと同じパッケージ名に設定されている場合には、Emacsからもアクセス可能です。Emacsディストリビューション内のファイルjava/INSTALLには、このような方法でEmacsをビルドする手順が記載されています。
termux-packagesは、Termuxがパッケージリポジトリを生成する際に使用するパッケージ定義を提供しており、これらはEmacsのホームディレクトリ内にインストールするために個別にコンパイルすることも可能です。
上記のプロジェクトに加え、ほとんどのLinuxカーネルベースのシステム向け静的リンク済みバイナリも、Android上で動作させることができます。
Emacsは、librsvgライブラリを用いてSVG画像ファイルの表示をサポートするように設定できます。SVGファイルには、ファイルシステム上の他の画像への参照が含まれている場合がありますが、librsvgはその形式をデフォルトでは検出できず、ホームディレクトリ内の.local/share/mimeディレクトリにXDG準拠のMIMEデータベースがインストールされていない限り、それらは空白の正方形としてレンダリングされます。
このようなデータベースを生成するにはXDG shared-mime-info
ツールが利用可能である必要があるため、受信側のAndroidデバイスに転送する前に、GNU/LinuxまたはUnixシステム上の一時ディレクトリでこのデータベースを作成することが推奨されます。最新リリースの
shared-mime-info
をインストールした状態で、MIMEデータベースを生成するための一時ディレクトリを作成し、デフォルトの freedesktop.org.in MIMEカタログを packages という名前のディレクトリにコピーし、update-mime-info を実行してデータベースを生成してください:
$ mkdir -p my-mime-database/packages $ cp /usr/share/mime/packages/freedesktop.org.xml my-mime-database/packages $ update-mime-info my-mime-database
これにより、指定されたMIMEデータベースがホストシステムの検索パスに含まれていない旨の通知が連続して出力される場合がありますが、これらは特に問題ありません。MIMEデータベースの内容を受信側システム(例:/sdcard/Download/my-mime-database.tar.gz)に転送して進めてください:
$ cd; mkdir -p .local/share $ tar xfz /sdcard/Download/my-mime-database.tar.gz $ mv my-mime-database .local/share/mime $ rm /sdcard/Download/my-mime-database.tar.gz
Emacsセッションですでに埋め込み付きのSVG画像の表示を試みている場合は、新しいMIMEデータベースが有効になるまでEmacsを再起動する必要があります。