Rhodesをとりあえず動かすまで
もっかい検証してからと思ったんですけど、なんかいつまでもこのままにしてしまう気がしてえいっ!てアップすることにしました。間違いがあったらあとで直します。
AndroidでRubyが動く話は聞いてたけど、環境作るの大変そうだしーと思ってやっぱJava勉強しよーと思ってたところに、こんな記事を見つけまして。
http://itpro.nikkeibp.co.jp/article/COLUMN/20110831/367987/
RailsみたいにRubyでアプリが作れるん?それも、MacだったらiPhoneまで!!!
やらないわけにはいかないじゃないですか。
で、こちらさんのはWindowsベースでなにかと省略できてる(パッケージがある)し、本家のドキュメントはいろいろあるけどiPhoneが例題でわかりにくくて、環境構築までにちょっと手間がかかったんで、ちょっとブログにしてみました。
MacでAndroidアプリです。
動作環境:
作る対象:
- Android2.2
必要なモノ:
手順:
Rhodesのインストール
$ gem install rhodes
こんなけ。
NDKのインストール
http://dl.google.com/android/ndk/android-ndk-r6-darwin-x86.tar.bz2
これをダウンロードして、任意の場所に展開。
最新のNDKだと-ndk-r6b-とかいうのなんですが、これだとあとでAndroidのコンパイルが通らないんです。
(詳しい原因はよくわかりません。)
SDKのインストール
http://developer.android.com/sdk/index.html
ココから最新のandroid-sdk_r12-mac_x86.zipをダウンロードして、任意の場所に展開。
んで、Android SDK and AVD ManagerでさらにAndroid周りのモノをインストールします。
$cd android-sdk-mac_x86/tools $sh android
別ウインドウが立ち上がったら、左のAvirable packagesを選ぶ。
▶Android Repository
▶Third party Add-ons
とあって、Android Repositoryの方は全部チェック入れちゃう。
Third party Add-onesの方は、全部チェック入れるといくら待ってもインストール終わらなかったから、Google APIだけチェック。そして、Install。(それでもかなり時間がかかります。)
インストールできたらそのウインドウはさようなら。
Rhodesのsetup
プロジェクトを作るディレクトリで、(じゃなくてもいいかもしれない。誰か試してー)
$ rhodes-setup We will ask you a few questions below about your dev environment. JDK path (required) (/Library/Java/Home): *ここでいいならenterで先へ Android SDK path (blank to skip) (): /フルパス/android-sdk-mac_x86 Android NDK path (blank to skip) (): /フルパス/android-ndk-r6 Windows Mobile 6 SDK CabWiz (blank to skip) (): *enterだけ BlackBerry JDE 4.6 (blank to skip) (): *enterだけ BlackBerry JDE 4.6 MDS (blank to skip) (): *enterだけ BlackBerry JDE 4.2 (blank to skip) (): *enterだけ BlackBerry JDE 4.2 MDS (blank to skip) (): *enterだけ
おしまい。
SDKとかNDKとかの場所を変えたときはこれを実行すればいいらしい。
Rhodesのプロジェクト作成
いよいよ作るんです!
$ rhodes app プロジェクト名
で、lsすると
$ ls Rakefile bin icon rhoconfig.txt app build.yml public rholog.txt
こんな感じです。シンプルですね。
Modelの作成
ModelはMVCのModelだそうです。
作り方は、プロジェクトディレクトリの下でコマンド実行するだけ。とりあえずnameとemailぐらいにしときましょうか。
$ rhodes model Model名 name,email
トップページの設定
アプリを立ち上げたときのトップページです。
/プロジェクトディレクトリ/app/index.erbの以下の部分を変更。
<div data-role="content"> <ul data-role="listview"> <li><a href="/app/Model名/index">List...</a></li> </ul> </div>
ビルドの準備
もうすぐです。アプリをビルドするための準備を一つだけ。
プロジェクトディレクトリ直下のbuild.ymlに以下を追加しておきます。
android: version: 2.2 emulator: 任意のエミュレーター名
ビルドの実行
あとはコマンドひとつです。これを実行するとコンパイルが走り(初回は時間がかかります)、最後にAndroidのエミュレーターが立ち上がるはずです。
$ rake run:android
いかがですか?