MirahでrubyライクにAndroid開発

mirah を入れてみたなら、Android 開発なんかしたくなるのが
人の心というものです。


mirah と jruby はインストール済みであることを前提に進めます。
それ以前に、androidsdkは入ってそうですが、こいつは入れてみます。

Android SDKのインストール

コンソールを開きます。

% brew install android-sdk


これ一発! なんと便利な世の中なんだ!!
brew なんてコマンドないよー、という方は以下からどうぞ
http://mxcl.github.com/homebrew/

[Homebrew]Homebrew - OSXのパッケージ管理ツール

いや、これがただ言いたかっただけだったりするんですが。
このhomebrewってパッケージ管理ツールは結構前に入れたけど、
パッケージが少なくて使ってなかったんですが、ちょっと見ないうちに随分増えた模様です。


app-engineもjavapythonもどちらもパッケージであって大丈夫なのかな?
とか思いますが、homebrew自体がリポジトリを持ってて管理してるというのではなく、
URLのあるリソースを取得し、それを展開するローカルのディレクトリ構造を管理する
ツールを提供しているようなかんじみたい(と勝手に思いこんでるだけなので、違うかも)


だから、tgzだろうが、gitにあるソースそのものだろうが、URLさえ書けば取得してくる
インストールスクリプトは自分で勝手に書けちゃうし、
それに合せてインストールに必要な作業が、makeだろうが、展開だけだろうが、
シンボリックリンク貼ればいいだけだろうが、好きなように書けという感じのようです。
インストールスクリプトRubyで書く形になっていて、ダウンロードするだけなら、
コマンドでジェネレートしてくれます。
この辺ちょっと調べてみたいです。

Android SDKの設定


brewで入れると素晴しいことに必要なコマンド類は /usr/local/binにリンクしてくれますので、
そのままコンソールでコマンド打てます。
ただ、target(開発対象のandroid APIのバージョン)のlistなどが入ってませんので、
その辺をセットアップ

% android


GUIが起動します。左のリストに[Installed Package]という項目があるのでクリックして、
表示された右の画面の[update All..]というボタンを押すと、サーバにアクセスして、
最新のリストを取得してきて、インストールするかを問われますので、同意してください。
責任はとれませんが。

Android のプロジェクトを作る


のも面倒なので、githubあたりで探してくるのがよろしいかと。
mirah android あたりでググるとなんこかサンプルプロジェクト作ってありますし。
わたしもそんな方のをフォークして、プロジェクトのスケルトンにしております。
build.xmlにmirahでコンパイルがかかるようにしてますので、
http://github.com/wats/skel-mirah-android.git

からcloneしてきて、トップディレクトリで

% ant compile

していただければ、とりあえず、mirahで書かれたactivityがコンパイルされます。
ちなみにわたしができるようにしたわけでなく、
originのプロジェクトでそうなってたわけです。感謝です。


あ、build.propertiesのsdk.dirをご自身のインストールされた Android SDK
ルートディレクトリに書き換えるのをお忘れなく。
もし、brewでインストールした場合だと、

/usr/local/Cellar/android-sdk/r7


という値になります。/usr/local/Cellar 配下にインストールするパッケージが
そのままパッケージ毎に展開されるようになっています。



ああ、寝むさにまけて投げやりな記事になってもうた。。。
あと、mirahのが、bitescript に依存してて、
これがまた、mirahのインストールディレクトリと同列階層に
bitscriptのインストールディレクトリがないといけないようなので、
シンボリックリンクなどででも

somedir

------------- mirah
------------- bitescript


となるようにしてください。bitescriptのURLは以下です。
http://github.com/headius/bitescript.git

これはまだ、mirah の配下のプロジェクトじゃないんだなぁ。。。。