[ANN] Ruboto 0.10.0 released!

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
and generators for creating projects, classes, tests, and more. The
APIs of Android, Java, and Ruby are available to you using the Ruby

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


  • 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


  • 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
  • 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 <your.package.name>

You can find an introductory tutorial at

If you have any problems or questions, come see us at http://ruboto.org/


The Ruboto Team