Androidアプリの開発にはJavaが利用されることが多いですが、Java以外の言語でも開発を行うことができます。今回はRubyを利用して開発を行ってみましょう。Ruby on Railsなどでお馴染みのプラグラム言語、Rubyですが、RubyGemsなどのライブラリも多いため、お手軽にアプリを開発できるのが特徴です。

RubyでAndroidアプリを開発するためのフレームワークRuboto

そして、今回の開発で利用するメインのフレームワークがRubotoです。
Rubotoroidを開発する場合に便利なフレームワークのRuboto

RubyでAndroidを開発する場合に便利なフレームワークのRuboto


このフレームワークを使うことで簡単にRubyでAndroidアプリを開発することができるようになります。通常であれば、リソースファイルのパスの設定を手動で行ったり、JavaからRubyを呼び出す場合にはコンパイルに時間がかかったりと手間が多くなってしまうのですが、Rubotoがそれらの作業を引き受けてくれるので、開発が楽になります。

Rubotoを利用するのに必要な環境

Rubotoを利用するには以下の設定が事前に必要になります。

  1. RubyまたはJRubyのインストール(RVMのみでも可)
  2. RubyGemsのRubotojruby-jarsのインストール
  3. JDKのインストール
  4. Android SDKのインストール
  5. Android SDK、SDK toolへのパスを通す
  6. Apache Antのインストール
  7. Apache Antのパスを通す
  8. dxへのパスを通す

上記の1に関してですが、RVMをインストールするのがよいと思います。RVMとはRubyのバージョン管理システムで、職場環境のRubyや自分の好みのRubyなどのバージョン及びRubyGemsのインストール環境を切り替えられるものです。バージョンやRubyGemsなどの依存関係が強いRuby環境において、環境を切り替えることのできるRVMはおすすめです。

上記の2に関しては、RubyGemsをインストールした後に、
gem install ruboto
gem install jruby-jars
とコマンドを打つだけです。

3と4に関しては、Android Studioを利用している環境(またはeclipseでAndroidが開発出来る環境)であれば、特に必要な設定はありません。Android Studioのインストール手順に関しては別記事で紹介していますので、こちらを御覧ください。

5に関しては、SDKまでのパスとSDK toolまでのパスを通します。Android Studioを利用しているWindowsの該当パスは、
Users<user>AppDataLocalAndroidandroid-studiosdk

Users<user>AppDataLocalAndroidandroid-studiosdkplatform-tools

Users<user>AppDataLocalAndroidandroid-studiosdk ools
となります(<user>にはユーザー名が入ります)。

同様に、Macの場合には、
/Applications/Android Studio.app/sdk

/Applications/Android Studio.app/sdk/platform-tools

/Applications/Android Studio.app/sdk/tools
にパスを通して下さい。

また、6に関してですが、Apache Antをダウンロードします。ダウンロードしたファイルを任意の場所で展開してください。

そして、binディレクトリへのパスを通して下さい。これが7の手順になります。

8の手順ではsdkにあるbuild-toolsの中にあるAndroidの任意のバージョンのdxへのパスを通します。筆者の場合には、

/Applications/Android Studio.app/sdk/build-tools/19.1.0/
にパスを通しています。以上の設定が終わったら、
ruboto setup
とコマンドを打って、設定が完了したかどうか確認しましょう。完了していれば、「Ruboto setup is OK!」と表示されます。もし「Ruboto setup is "NOT" OK」と表示された場合には、うまく設定が行われていません。必要なプラグインが足りていない場合には、ダウンロード・インストールするかを聞かれますので、適宜インストールしましょう。
セットアップが完了した様子。*** Ruboto setup is OK ***と表示されていればよい。

セットアップが完了した様子。*** Ruboto setup is OK ***と表示されていればよい。