Android 4.0.1でScalaを動かしてみた

Android上でScalaを動かしたときのメモです。
というかぶっちゃけこちらの通りです。
https://github.com/jberkel/android-plugin

環境

Android SDKのインストール

Scalaとsbtはインストールしてる前提で進めていきます。(入ってなかったらbrew install scala sbtで入れておく)
Homebrewで簡単にインストール出来ます。ステキですね。

% brew install android-sdk

Android SDK Managerを立ち上げてSDKを入れていきます。
とりあえず全部チェック入れれば良いと思います。

% /usr/local/bin/android

~.zshrcなどにANDROID_HOMEを定義してpathも通しておきます。

export PATH=/usr/local/bin:$PATH
export ANDROID_HOME=/usr/local/Cellar/android-sdk/r16

android-pluginのインストール

% git clone git://github.com/jberkel/android-plugin.git
% cd android-plugin 
% sbt publish-local

プロジェクトの作成

giter8を使用してプロジェクトを作成します。
giter8をインストールしていない場合はHomebrewで入れておきます。

% brew install giter8

% g8 jberkel/android-app

Template for Android apps in Scala 

package [my.android.project]: com.android.hoge
name [My Android Project]: hoge
main_activity [MainActivity]: 
scala_version [2.9.1]:   # 使用するScalaのバージョンに合わせる。
api_level [10]: 14       # ターゲットのAndroidに合わせる。Android SDK Managerで確認出来る。

Applied jberkel/android-app.g8 in hoge

実機で動かしてみる。

% cd hoge 
% sbt
> android:package-debug
> android:start-device

# こんな感じに出力されて端末にhello, worldが出ていれば成功です。
3072 KB/s (168917 bytes in 0.053s)
	pkg: /data/local/tmp/hoge-0.1.apk
Success
Starting: Intent { act=android.intent.action.MAIN cmp=com.android.hoge/.MainActivity }
[success] Total time: 4 s, completed Jan 5, 2012 12:45:12 AM

エミュレータを使う場合は android:start-device の代わりに android:start-emulator を使ったりすればOKです。(エミュレータおもいのでしんどい><)
必要なものはほとんどHomebrewやgiter8で済んでしまうのでゆとりすぎますね。先人たちに感謝です。