Ruboto (JRuby on Android)

Ruboto–Ruby on Android
Ruboto(読みは"るぼっとぉ"でよいのかな)はAndroidJRubyバインディング

Ruboto (JRuby on Android) Google Groups
Ruboto's ruboto-core at master - GitHub

最終的にはフルスペックなAndroidアプリケーションをRubyで書くことを目的にしているらしい。

既にIRBコンソールでRubyスクリプトを評価実行できる(!!)Androidアプリケーションがgitにアップされているので、ソースもちら見してみたが
http://cloud.github.com/downloads/ruboto/ruboto-irb/ruboto-screenshot-landscape.png
ruboto's ruboto-irb at master - GitHub
libsにjruby.jarとjruby-stdlib.jarがあるので、現状はAndroidJava環境からそのままJRubyを呼び出してるぽい。(後述するがCharles Nutter氏によると、以前はandroid*パッケージのリフレクションに問題があって駄目だったんだけど、Android 1.6以降、バグが解消されたので何点かの手直しで上手く動くようになったらしい。だとすれば凄いことだ)

Android SDKはまず継承ありきの構造であり処理の差し込みがやりづらいので、同Groupの投稿に出ているように

require "ruboto.rb" 
ruboto_import_widgets :TextView 

$activity.start_ruboto_activity "$telephone_demo" do 
  setup_content do 
    @tv = text_view(:text => "Listening for calls:\n") 
  end 

  handle_call_state_changed do |state, number| 
    @tv.append "#{number}, state = #{state}\n" 
  end 
end 

こんな感じでRubyAndroidアプリケーションが書ける日が来るのであれば、非常に楽しみだ。

※Charles Nutter氏の投稿もたくさんあるぞ。と思ったら、実際に彼も関わっているんだね。
headius Busy Week JRuby with Android, Maven, Rake, C exts, and More! - Headius(Nutter氏のBlog)