Rubyで作るAndroid〜Rhodesの開発環境構築〜


Rhodesを利用することで、Rubyを用いてAndroidアプリの開発を行うことが可能です。
Rhodesとは、RubyとHTMLでAndroidやiPhone、Windows Mobile向けのネイティブアプリケーションの開発を行うことができるフレームワークです。

今回は、Rhodes開発を行うための開発環境の構築と、エミュレータを立ち上げてアプリのスケルトンを動かすところまでを順を追って説明します。

本説明では前提条件として、以下のパッケージがインストールされていることとします。

  • ruby 1.86 or 1.87 (本記事中では1.87)
  • Ruby Gems v1.3.5以上
  • Android SDKおよびNDK
  • JDK

なお、今回開発環境をセットアップしたOSは、MacのOS X Ver.10.6.8となります。

それでは続きをどうぞ


開発環境を整える
まずはRhodesのインストールを行います。
今回はRubyが既にインストールされている環境であるため、Rhodesのインストールにgemコマンドを使用します。
gemコマンドは、RubyのパッケージシステムであるRuby Gemsのコマンド名です。
※Ruby Gemsがインストールされていなかった場合は、「$ sudo port install rb-rubygems」をターミナルで実行してください。

$ gem install rhodes

上記コマンドを叩くと、以下のようになります。一見エラーのようなメッセージが出ていますが、エラーではないようです。

次に、インストールが完了したら、Rhodesへのパスを通しておく必要があります。
$ export PATH=$PATH:”/Users/<ホーム>/.gem/ruby/1.8/bin”

.gemフォルダは非表示フォルダなので、内容を確認するにはターミナルを使うか、設定で非表示フォルダを表示させるようにしておく必要があります。

次にRhodesのセットアップを行います。
$ rhodes-setup
すると環境のパスを指定するように指示されるので、下図のように入力していきます。


今回はAndroidの開発を行うため、JDKおよびAndroid SDK、NDKへのパスのみ入力しました。

スケルトンの作成とエミュレータの起動
適当にスケルトン(開発の基礎となる骨組み的なプログラム)の作成用フォルダを作成してそこへ移動します。(今回はホーム直下にRhodesProject作成)
$ cd /Users/<ホーム>/RhodesProject/

スケルトンを作成するには、rhogenコマンドを使用します。
$ rhogen app <プロジェクト名>
のようにrhogenコマンドを使用すると、指定したプロジェクト名でディレクトリが構成されます。
$ rhogen app storemanager http://localhost:9292/application

storemanagerディレクトリが作成されていることを確認しましょう。

次にビルドを行います。
Androidアプリケーション用にビルドを行う場合、build.ymlファイルを適切な形に変更しておく必要があります。
iphone:

の下に、下図のように、
android:

を追加します。

minSDK ミニマムのビルドバージョン
Version ビルドバージョン
emulator エミュレータの名前

Android SDK and AVD Managerのセッティングを行います。
<SDKホーム>/toolsフォルダ直下にあるandroidを起動します。
左のカテゴリからSettingsを選択し、「Force https://… sources to be fetched using http://」にチェックを入れておきます。

あとは、storemanagerforフォルダ直下に移動し、以下のコマンドを実行することで、エミュレータが起動し、storemanagerアプリが立ち上がります。
下図がそのアプリケーションの起動画面と、ランチャーに表示されるアイコンです。

$ rake run:android

スケルトンのアプリケーションでは、ボタンの配置や画面の遷移などを確認することができます。

今回取得したスケルトンは、build.ymlファイルを適切に書き換えることで、iPhoneやその他のスマートフォン上でも動作させることができます。
つまり一つのソースコードをAndroid用にもiPhone用にも使用することができるのも、Rhodesによる開発の一つの特徴と言えます。