Windows で rhodes を使ってみる
この Web ページで行うこと.
- gnupack (cygwin + emacs package)
この Web ページでの設定内容
- Ruby のパス: C:\Ruby183
- Ruby Installer DevKit 付属の mingw バイナリのパス: C:\Ruby193\mingw\bin
- JDK のパス: C:\Program Files\Java\jdk1.8.0_20
- Android SDK のパス: C:\adt-bundle-windows-x86_64-20130219\sdk
- Android NDK のパス: C:\android-ndk-r8e-windows-x86_64\android-ndk-r8e
RubyInstaller を用いた Ruby バージョン 1.9.3 のインストール
ダウンロード
- RubyInstaller の Web ページを開く.
- Downloadをクリック
- 2つのファイルをダウンロード
- Ruby 1.9.3-p392
- DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe
インストール
- ダウンロードしたファイルを実行
「Ruby の実行ファイルへ環境変数PATHを設定する」をチェックする
DevKit-tdm-32-4.5.2-20111229-1559-sfx.exe は Ruby のインストールディレクトリに展開(解凍)する
- Windows で、環境変数 PATH に次を追加する
「C:\Ruby193」のところは、実際に Ruby をインストールしたディレクトリに読み替えること
C:\Ruby193\mingw\bin
- 設定の確認
コマンドプロンプトで, Ruby を使ってみる. 次のように実行し、「3」が表示されればOK.
irb p 1 + 2 exit
gnupack (cygwin + emacs package) のインストール
ダウンロード
- gnupack (cygwin + emacs package) のダウンロード Web ページ
http://sourceforge.jp/projects/gnupack/releases/?package_id=10360
- 2つのファイルをダウンロード
- gnupack_basic-11.00.exe
- gnupack_devel-11.00.exe
インストール
- ダウンロードした2つのファイルの解凍
C:\ の直下に展開(解凍)する。次のような2つのディレクトリができる
- Windows で、環境変数 PATH に次を追加する
「C:\gnupack_basic-11.00」 や 「C:\gnupack_devel-11.00」 のところは、実際にインストールしたディレクトリに読み替えること
Ruby のパス(C:\Ruby193\bin や C:\Ruby193\mingw\binなど)の方が先になるように設定する
C:\gnupack_basic-11.00\app\emacs\emacs\bin;C:\gnupack_basic-11.00\app\cygwin\cygwin\bin;C:\gnupack_devel-11.00\app\emacs\emacs\bin;C:\gnupack_devel-11.00\app\cygwin\cygwin\bin
- 設定の確認
コマンドプロンプトで「mintty」を実行し、新しい cygwin のウインドウが開けばOK.
JDK のダウンロードとインストール
ダウンロード
- Java Platform (JDK) の配布ページを開く
https://www.oracle.com/java/technologies/downloads/?er=221886
- Java Platform (JDK) のダウンロードの開始
ページ上部の 「Java SE Downloads」の欄から「Java Platform (JDK) 8u20」のダウンロードボタンをクリック
- ライセンスに同意(Accept License Agreement)し,使用しているOSのバージョンに合わせたものを選択する.
インストール
- ダウンロードした実行形式ファイルを実行すると、セットアップが始まる
- ようこそ画面
「次へ」をクリック.
- カスタムセットアップ
デフォルトのままで問題ない.「次へ」をクリック.
- インストール
自動で行われるため,特に操作は必要ない
- インストール先フォルダ
デフォルトのままで問題ない.「次へ」をクリック.
- セットアップ
自動で行われるため,特に操作は必要ない
- インストール完了
「閉じる」をクリックして終わる.
- 環境変数の設定
以下、「C:\Program Files\Java\jdk1.8.0_20」のところは、実際にインストールしたディレクトリに読み替えること
マイコンピュータを右クリック → プロパティ → 詳細設定 → 環境変数をクリック
- JAVA_HOME の設定
ユーザの環境変数→新規 変数名:JAVA_HOME 変数値:C:\Program Files\Java\jdk1.8.0_20 ※ 設定例
* 設定例
- PATH の設定
ユーザの環境変数→新規 変数名:PATH 変数値:「;C:\Program Files\Java\jdk1.8.0_20\bin」を追加
* 設定例
これによりjavaやjavacと打つだけで実行できるようになる
すでに,PATH を定義済みのときは,「;」で区切る.
パスを通す
- Windows のスタートメニューを開き,コントロールパネル→システムとセキュリティ→システム と辿る
- 左側のメニューに「システムの詳細設定」という項目があるのでそこを選択
- 「詳細設定タブ」の一番下「環境変数」を選択し,環境変数を変更するウィンドウ<を開く
- 下側のグループ「システム環境変数」のなかから「PATH」を探してダブルクリック
※すでに記入してある内容は削除しない
※変数と変数の間は「;」(半角セミコロン)で区切る
- 追記が完了したら「OK」を押してウィンドウを閉じる
- CLASSPATH の設定
システム環境変数→新規 変数名:CLASSPATH 変数値:.;C:\Program Files\Java
これによりカレントフォルダと「C:\Program Files\Java」の jar ファイルを探せるようになる
- JAVA_HOME の設定
- 設定の確認
コマンドプロンプトを開き,「java -version」と実行してみる。 エラーメッセージが出なければOK.
- (オプション) NetBeans IDE をインストールした場合は、試しに起動してみる
エラーメッセージが出なければOK.
Android SDK のインストール
ダウンロード
- Android SDK Tool のダウンロードページへ移動 https://developer.android.com/sdk/index.html
- ADT bundle の圧縮形式(.zip)ファイルの最新版をダウンロード
インストール
- ZIP ファイルを, 分かりやすいディレクトリに展開(解凍)する.
- 解凍が終わったら、Windows で、環境変数 PATH に次を追加する
「Android SDK」フォルダー内の eclipse フォルダーと、Tools フォルダーと、platform-tools フォルダーのパスを追記する
例えば次のように. 「C:\adt-bundle-windows-x86_64-20130219」のところは、実際のディレクトリに読み替えること
C:\adt-bundle-windows-x86_64-20130219\eclipse;C:\adt-bundle-windows-x86_64-20130219\sdk\tools;C:\adt-bundle-windows-x86_64-20130219\sdk\platform-tools
- 確認
コマンドプロンプトを開き,「eclipse」と実行してみる。 eclipse が起動すればOK
AVD Manager を用いた設定
- Android SDK and AVD Manager の起動
コマンドプロンプトを開き,「android」と実行。
android
- インストールしたいパッケージを選択し,インストールを開始
◆ 下の実行例では,パッケージとして次のものを選んでいる.
- Android SDK Tools
- Android SDK Platform-tools
- Android 4.2.2 (API 17)
- Android 2.3.3 (API 10)
Android エミュレータの生成とテスト起動
- monitor コマンドを使って,ddms (Android Debug Monitor) を起動してみる
android update adb adb kill-server adb start-server monitor
- コマンドを使って,Android エミュレータを生成、
- -n hoge: マシン名
- -1 1: ターゲットID
- 「--abi armeabi」: armeabi や x86 を指定
android create avd -n hoge -t 1 --abi armeabi emulator -avd hoge
エミュレータの一覧表示は「android」.
*エミュレータが起動しない場合の対処法
環境変数ANDROID_SDK_HOME を、日本語が含まれないディレクトリに設定し、上の手順をやり直す
Android NDK
ダウンロード
インストール
- 分かりやすいディレクトリに展開(解凍)する
- 解凍が終わったら、環境変数 PATH を設定する
例えば次のように.「C:\android-ndk-r8e-windows-x86_64\android-ndk-r8e」は、実際のディレクトリに読み替えること.
C:\android-ndk-r8e-windows-x86_64\android-ndk-r8e
- 確認
コマンドプロンプトを開き,次のように実行してみる
cd C:\android-ndk-r8e-windows-x86_64\android-ndk-r8e cd samples cd hello-jni ndk-build
rhodes のインストール
- コマンドプロンプトを開き,gem install rhodes を実行
gem install rhodes
- エラーメッセージが出ていないことを確認
- コマンドプロンプトを開き,rhodes-setup を実行
rhodes-setup
- JDK のパス,Android SDK のパス,Android NDK のパスを設定
このWebページでの設定例(実際のディレクトリに読み替えてください)
- JDK のパス: C:\Program Files\Java\jdk1.7.0_21
- Android SDK のパス: C:\adt-bundle-windows-x86_64-20130219\sdk
- Android NDK のパス: C:\android-ndk-r8e-windows-x86_64\android-ndk-r8e
- (64 ビット Windows のみ) rhodes のファイル
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rhodes-3.5.1.12/platform/android/build/androidcommon.rb の書き換え
64 ビット Windows で、 「rake run:android」の操作時に 「Can't detect NDK toolchain path (corrupted NDK installation?」というエラーがでるのを回避するため。
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rhodes-3.5.1.12/platform/android/build/androidcommon.rbの12行目
変更前
$ndkhost = "windows"
変更後
$ndkhost = "windows-x86_64"
- c:/adt-bundle-windows-x86_64-20130219/sdk/tools/apkbuilder.bat の書き換え
Windows で、 「rake run:android」の操作時に 「C:\Windows\system32\java.exe は、内部コマンドまたは外部コマンド、操作可能なプログラムまたはバッチファイルとして認識されていません」というエラーがでるのを回避するため。
c:/adt-bundle-windows-x86_64-20130219/sdk/tools/apkbuilder.bat の書き換え
変更前
call %java_exe% -classpath %jarpath% com.android.sdklib.build.ApkBuilderMain %*
変更後
call java.exe -classpath %jarpath% com.android.sdklib.build.ApkBuilderMain %*
- c:/Ruby193/lib/ruby/gems/1.9.1/gems/rhodes-3.5.1.12/platform/android/build//android_tools.rb
Windows で、 「rake run:android」の操作時に 「Unable to run Android emulator. No appropriate target API for SDK version」というエラーがでるのを回避するため。
c:/Ruby193/lib/ruby/gems/1.9.1/gems/rhodes-3.5.1.12/platform/android/build//android_tools.rb の244行目
変更前
raise "Unable to run Android emulator. No appropriate target API for SDK version: #{$emuversion}" unless targetid
変更後
# raise "Unable to run Android emulator. No appropriate target API for SDK version: #{$emuversion}" unless targetid
アプリケーションを動かしてみる
- Windows のコマンドプロンプトで次のように操作
cd c:\ mkdir tmp cd tmp mkdir myapp cd myapp rhogen app hoge http://localhost:9292/hoge
- 終了の確認
エラーメッセージが出ていないことを確認する
- hoge/build.yml の編集
設定例
android version: 2.3.3 minSDK: 10 emulator: hoge
- 「android」コマンドで Android SDK Manager を起動し、
「Tools」をクリックし、「Options」を選ぶ
「Force http:// .... sources to fetch using http:// ...」をチェック
- Windows のコマンドプロンプトで次のように操作
rake run:android