blog.sorah.jp

Building mruby for android

android-ndk を standalone に使えるようにした のはこのためなのだけれど、

mruby (a.k.a. RiteVM, 軽量 Ruby) を動かせるかと思ってセットアップした。結果的には普通に動きました。

ただ、ビルドするときに mrbc をホストで実行できる必要があるみたいなので、ちょっと弄った。

make-standalone-toolchain.sh で作られた gcc 等 に PATH が通ってる事を前提として、以下の手順でビルドできました:

$ git clone https://github.com/mruby/mruby.git
$ cd mruby
$ make
$ cp bin/mrbc .
$ make clean && rm **/*.o

$ make CC=arm-linux-androideabi-gcc LL=arm-linux-androideabi-gcc
...
/bin/sh: ../bin/mrbc: cannot execute binary file

$ cp ./mrbc bin/mrbc

$ make CC=arm-linux-androideabi-gcc LL=arm-linux-androideabi-gcc 
# ↑ will fail at building mrubysample. you can just ignore because it's not needed.

$ file bin/mruby
bin/mruby: ELF 32-bit LSB executable, ARM, version 1 (SYSV), dynamically linked (uses shared libs), not stripped

あとは ./bin/mrubyadb push 等で Android に転送して実行できるようにしてあげればいいと思います。

Have fun!

Backfilled at , Published at