The Ruboto team is proud to announce the release of Ruboto 0.10.0.

Ruboto (JRuby on Android) is a platform for developing full stand-alone apps for Android using the Ruby language and libraries. It includes support libraries and generators for creating projects, classes, tests, and more. The complete APIs of Android, Java, and Ruby are available to you using the Ruby language.

New in version 0.10.0:

In this release we remove several legacy features:

  • handle_xxx methods to handle Android callbacks. Use the regular Android callback methods instead (onCreate, onReceive, onStart, etc.)
  • Global variables for the current context ($context, $activity, $broadcast_receiver, $service)
  • Defining an EntryPointActivity (declared in the AndroidManifest.xml) using a block. Use a class instead.
  • $RUBOTO_VERSION and confirm_ruboto_version. Use Ruboto::VERSION instead.


  • Issue #281 Remove legacy.rb (and tests for handle_ methods)
  • Issue #282 Remove menu.rb
  • Issue #290 Remove $RUBOTO_VERSION and confirm_ruboto_version methods
  • Issue #291 Remove support for block based manifest (EntryPointActivity) activities


  • Issue #205 Initialize $package_name and $package when started from a broadcast receiver
  • Issue #246 “ruboto gen subclass android.widget.ArrayAdapter …” fails with missing generics specification
  • Issue #266 New way of using StartActivityForResult not working for classes defined in external .rb file
  • Issue #276 Compile with Android (Java 6) bootclasspath
  • Issue #277 Detect and report jar/unjar failures
  • Issue #278 Turn off load service profiling
  • Issue #284 Test calls to super within new generated subclasses
  • Issue #286 Failed to install app with JRuby master and dx.jar
  • Issue #294 Copy .gitignore to new project
  • Issue #300 Reload Ruby script for Java backed manifest class if the source was already required.


  • Issue #217 Separate Ruboto Ruby library for callbacks into ruboto/callbacks


  • Issue #186 GPS Tutorial incomplete - LocationListener not working
  • Issue #301 Request: Bundle Ruboto Core inside Ruboto apps to reduce user confusion.


  • Issue #178 Keep screen on in SpyCam example
  • Issue #254 Write tutorial/example about how to make a widget
  • Issue #279 add platform-tools/ to $PATH
  • Issue #280 Typos in README
  • Issue #289 Rename COPYING to LICENSE to make it easier to find

Pull requests:

  • Issue #260 Reduce size of RubotoCore by removing unused parts of dx.jar
  • Issue #288 * Issue #266 New way of using StartActivityForResult not working for cla…
  • Issue #292 Remove legacy callbacks
  • Issue #293 Initialize $package_name and $package when started from a broadcast receiver

You can find a complete list of issues here:



To use Ruboto, you need to install a Java JDK, the Android SDK, Apache ANT, and a Ruby implementation. Then do (possibly as root)

gem install ruboto

To create a project do

ruboto gen app --package <>

You can find an introductory tutorial at

If you have any problems or questions, come see us at


– The Ruboto Team

blog comments powered by Disqus


01 December 2012