osa2's memo

自分の記憶のために・・・。

AndroidにErlang/OTPとElixirを仕込んでみた

忘れないうちに作業メモ。

Erlang/OTPのビルドと配置

基本的にはこの手順が正だとは思う。

otp/INSTALL-ANDROID.md at master · erlang/otp · GitHub

一番参考になったのは、この手順。

Building Erlang for Android

あとでこの2つの手順をベースに書き直すつもり。ソースのバージョンは20.2.2を使用した。

Elixirのビルドと配置

2つ目の手順で概ね問題なかったが、Elixirの導入でハマる。原因は、ソースをビルドしないまま配置していた!elixir.beamがなかったので、elixirやiexを使っても、呼ばれたerl(Erlang/OTP)が中でcrashしていた。

Elixirのソースはここから。

GitHub - elixir-lang/elixir: Elixir is a dynamic, functional language designed for building scalable and maintainable applications

手順はほとんどなく、git cloneした後、チェックアウト(v1.5のHEAD。v1.6はまだRC1だったので)。

で、make clean test をする。これをしてなかった。

あとはAndroidに突っ込んでパス通すくらい。スクリプトの先頭行(#!/bin/sh)がAndroidでは微妙に違う。

余談

Erlang/OTPはあまりビルドで手こずらなかった(node.jaの方が難しかった気がする)。

CordovaとElmでのapk作成はできたので、あとはElmからどーやってElixir/Erlangを叩くか。全部通ると、Androidアプリを最新のリアクティブな言語で作れるのでは?まぁ、WebViewでできる範囲のことだけですけどね。

で、Erlang/OTPからLinuxをコールできれば・・というようなことをすると、Googleが圧力をかけてくるのかこないのか、この辺りの話はとにかく情報の量が少ない。

== END ==