into Japanese) is published with Rhomobile permission.
If you need official documents, please visit Rhomobile site.
In addition, the following document is based on 2010/June/17 (JST) information.
If you have any question, problem about the Japanese translation, please leave your comment. Except for that, refer contacts in the document.
このページは、ソースからRhodesをビルドする方法を説明します。そしてアプリケーションがすべてのサポートされたプラットフォーム(iPhone, RIM BlackBerry, Windows Mobile, Android)で動作するようにします。
前提条件-すべてのプラットフォーム
必要なソフトウェア
1.6.0_13 Mac OSX 10.5 (インストール後、デフォルト・バージョンを変更するために"Java Preferences"ユーティリティを起動してください)
Sun JDK For Windows/Linux/ 注:32ビットWindowsのバージョンのBlackBerryツールで必要です。
- JAVA_HOMEを設定して、JAVA_HOME/binがPATHにあることを確認します。
- HOME環境変数を設定します:
C:\Documents and Settings\<account_name>
- TIP:rakeタスクやrhogemコマンドを実行している間に、"no such file to load -- something"というメッセージが表示されたなら、これは通常'[sudo] gem install something'することで解決されます。
Rhodesソースの設定
git clone git://github.com/rhomobile/rhodes.git
cd rhodes
- (省略可能)興味のあるブランチをチェックアウトします(でなければmaster):
git checkout -f -b <branchname> --track origin/<branchname>
git pull
- binフォルダをpathに追加します。Linux/Macでは、通常.profileで行います。Windowsでは、システムのコントロールパネルを介して行います。
- rhodes-setupスクリプトを実行して、環境を設定します。これは自動的にインストールされたSDKを検出し、それらを確認したり、検出できなかったものを入力したりします。
rhodes-setup
iPhone
RhodesアプリのiPhone対応版は、Macマシン上でビルドする必要があります。以下の手順は、Xcodeの開発環境またはコマンドラインからどのようにビルドを行うかについて説明します。
前提条件
- Mac OS Xの10.5(Leopard)もしくはそれ以降(Snow Leopard)
- これらの手順に従います
- iPhoneSDKのインストール(アップルは2.2.1以降のアプリしか提出をさせません。それはRhodesでも必須で、Rhodes1.2で始めましょう)
- XcodeのIDE(強く推奨しますが、実際には必須ではありません)
XCodeでアプリケーションのビルド
- build.ymlの'sdk:'の値に注意してください。以降の手順でこの値を使用します。
- <前stepのsdkのディレクトリ>/platform/iphoneディレクトリに、iPhone XCodeプロジェクトがあります。
- コマンドウィンドウを開き、アプリケーションのディレクトリに切り替えます。そして、以下のコマンドを実行します:
rake switch_app
これで、SDKフォルダ内のrhobuild.ymlがアプリケーションを指すようになります。
- シミュレータ用にビルドするには、アプリケーションコードを変更した後に、XCodeで'Build and Go'を実行するだけです。
- デバイス用のビルドならば、'rhorunner'ターゲットを開いて、アップル・デベロッパー・サイトからインストールしたコード署名情報を選択し、デバイスのアクティブSDKを変更します。
- ヒント:変更を行った後、デバイスにそれらを反映させたいなら、シミュレータをリセットし、#2を繰り返します。
- ヒント:デバイス発生していることのログを見るには、rhorunnerコンソールを前面に出すために、Xcodeでコマンド-シフト-rを入力します。
App Store用にビルドおよびリリース
上で説明したようにXCodeでアプリケーションをビルドできたら、他のiPhoneアプリケーションと同様に、AppStore用に署名と配布のときです。
コマンドラインからのアプリケーションのビルド
XCodeのGUIからアプリケーションを構築するのとは異なり、rhogenで生成したアプリのディレクトリからrakeコマンドを介して、コマンドラインからアプリケーションをビルドできます。
- Rhodesアプリケーションのディレクトリに移ります。
- build.ymlの内容を見て、applogの以下の設定を確認します。ここにフルパスを入力しないでください、このファイルはアプリのディレクトリにあります:
applog: rholog.txt
rake run:iphone
シミュレータのアプリケーションを終了してrake run:iphone
BlackBerry
BlackBerryは、Windows上でビルドが必要です。MacやLinuxで開発を行っていたならば、WindowsのRubyをインストールする必要があります。
前提条件
http://na.blackberry.com/eng/support/docs/subcategories/?userType=21&category=BlackBerry+Browser BlackBerryのバージョンを選択してドキュメントをダウンロードします。
rhodes gemを使ってのアプリケーションのビルド
- アプリケーション・ディレクトリからbuild.ymlを編集、bbverにビルドするターゲットを設定します。
bbver:4.6
BlackBerryシミュレータへのビルドと実行
rake run:bb
- 4.6のシミュレータのダウンロードメニュー項目からアプリケーションを起動もしくは4.3以前ではメインメニュー画面から起動
- シミュレータを手動で閉じないでください。スクリプトはシミュレータを再起動します。
- アプリケーションコードの変更後:
rake run:bb
ログをオンにする:アプリケーションのメニューから menu\log\optionを選択します
log levelをInfoに設定し、MessageクラスをAPPまたは *. にして
BB 4.3以降
<simulator folder>\sdcard\rho\<app_name>でRhoLog.txtを開きます。
rhoconfig.txtを編集することでログの設定を変えることができます(アプリケーションの再起動が必要)
BB 4.2 以前
ログを見るには、build.ymlのapplogプロパティを使います。フルパスを入力するのではなく、ログ・ファイル名のみを入力します。ログ・ファイルはアプリ・ディレクトリにあります。フルパスを入力すると、ファイル名だけをログに記録しないと、ログファイルは、アプリのディレクトリにされる
- BlackBerry4.6でフル・ブラウザモードをオンにします。rhoconfig.txtを編集します:
use_bb_full_browser = 1
- BlackBerryの永続ストレージ利用モードをオンにするには、rhoconfig.txtを編集します:
use_persistent_storage = 1
- すべてのデータ(データベースとログ)をクリーンにするには:
BB4.3以降
<simulator folder>\sdcardでrhoフォルダを消します
永続的なストレージモードでは:アプリケーションを削除するか、シミュレータ・フォルダでclean.batを実行しますBB4.3以前:シミュレータ・フォルダでclean.batを実行します
トラブルシューティング
- 'rake config:checkbb'を実行し、何か問題がないか確認してください
- Windowsコンソールからすべてのrakeスクリプトを実行します。bashや同様のツールを使用しないでください
- エミュレータが起動したとき、BlackBerryインターネットブラウザを開き、いくつかwebサイトを参照します。webサイトを閲覧できない場合は:
MDSが動作しているかチェックします - それはエミュレータのコンソール・ウィンドウで動作しているはずです。manage connection(BlackBerryメニュー・ボタン)を開き、モバイルネットワークをチェックします
- JAVA_HOME環境変数をチェック:それは最後に'bin'が含まれては_いけません_。
- 'localhost'や'127.0.0.0'をsync source urlに使用しないでください。sync serverがコンピュータ上で動作している場合、ローカルコンピュータ名をsync serverの代わりに指定します。
デバイス用のアプリケーションをビルド
- デバイスにロードするために、アプリケーションに署名する必要があります:
http://na.blackberry.com/eng/developers/javaappdev/codekeys.jsp
- BlackBerryの証明書はファイル(sigtool.cskとsigtool.db)入手したら、ブラックベリーのJDKの'bin'フォルダに置くと、すべてのアプリケーションに署名します。
- ターゲットデバイスがBlackberryのJDK 4.3以降である場合は、rhobuild.ymlファイル(Rhodes SDKフォルダ)の'env'セクション(ローズSDKのフォルダにあります)でパスワードを設定することができます:
bbsignpwd: <password>
rake device:bb:production
あるいは
rake device:bb:debug
OTA(Over-The-Air)では: <application_directory>/bin/target
- たとえば、'rake:bb:production'すると、ファイルがSDKのバージョンの名前のディレクトリに入ります。 /bin/target/4.6/ota-web
- 多くの.codファイルとひとつの.jadファイルを見るべきでしょう。
- すべてのこれらのファイルをWebサーバーにアップロードし、BlackBerryデバイス上のブラウザから、jadファイルを開きます。
トラブルシューティング
- BlackBerryからCSIファイルを取得した後、それらを登録する必要があります。dblクリックした後に、"Already registered(既に登録済み)"メッセージが表示されます:
署名キーを登録しようとするとき、不適切なパスワードのエラー
- ダイアログ'Would you like to create a new key pair file'の[Yes]を押した後、何も起きない。ダイアログもエラーメッセージもない:これはJava SDKおよびBlackBerrySDKのバージョンに問題があります。
秘密鍵プロンプトを受け付けたあと、署名キーのウィンドウが消える
異なるBlackBerryJDEバージョンのJavaバージョンのサポート
手動でCSIファイルを登録
- 署名ファイルは一台のコンピュータに一回だけ登録することができます。もしBlackBerrySDK4.6に例のためにそれらを登録した場合は、他のBBのSDKのbinディレクトリにsigtool.cskとsigtool.dbをコピーすることができます。
- また、Windows 7でのBlackBerryシミュレータ上のネットワークに問題があります。これは、同期に障害が発生します。この問題に2つの回避策があります。1つは、シミュレータ内のネットワーク接続(ビルドスクリプトは自動的にこれを行います)にMDSを使用することです。2番目の回避策は、シミュレータでWiFi接続をエミュレートすることです。
デバイス上のアプリケーションログ
ログはファイル'rholog.txt'に書かれます。
- デバイスにSDカードがあるなら、それはMedia Card\Rho\<app name>\にあります。
- SDカードがないなら、それはDevice Memory\home\user\rho\<app name>\にあります。
ログファイルを見たり、コンピュータにコピーするには:
- Logメニューアイテムをアプリケーション・メニューに追加します。(例として、sugarを見てください)
- アプリのどこかでRhoConf.show_logまたはRhoConf.send_logを呼び出します。(例えば、設定ページ)
- デバイスでメディア・アプリケーションを開き、Menu\exploreを選択します。ログファイルを見たり、bluetooth経由で送信できます。
- SDカードがある場合:Phone options\memory\Mass storage support\ ON,saveします。ケーブルを介してデバイスをコンピュータに接続し、コンピュータのエクスプローラでUSBディスクドライブが表示されます。コンピュータに'rholog.txt'をコピーします。'Mass Storage support'をOFFにすることを忘れないでください、さもなければRhodesはファイルに書き込むことができません。
デバイスの接続性
携帯電話がWifi接続できるならば、Rhodesは特別な処理などせずにWifiを利用します。PRS方式の場合、以下のようにすべきです:
- モバイルネットワークのセットアップ:Phone Options\Mobile Network\Data Services ON,Connection preferences:WiFi-Onlyでないこと
- APNアドレスのセットアップ:Phoen Options\Advanced settings\TCP/IP/APN settingsをenableに。APNは、プロバイダを特定するアドレス(たとえばwap.cingular)です。
Eclipseを使用してRhodesをソースコードをビルド
- BlackBerry Eclipse IDEがインストールされている必要があります。
- rhodes\platform\bb フォルダに.metadataがないことを確認してください。また、rhodes\platform\bbのサブフォルダに.projectや.classnameファイルがないこともチェックしてください。
- Eclipseを起動して、ワークスペースディレクトリとしてrhodes\platform\bbを選びます。ワークスペースを作成しないでください!
- ファイル\インポートメニューを選びます。BlackBerry\BlackBerry JDEワークスペースノードを選択します。Nextを押します。rhodes\platform\bb\.BB.jdw\BB.jdwへ移動。Finishを押します。プロジェクトが自動的にビルドされます。
- Window\Preferencesメニューに移動します。BlackBerry JDE/Installed componets nodeを選択します。
- ターゲットデバイスにJDEのインストールディレクトリを選択します。EclipseはコンボボックスにインストールしたすべてのJDEを表示するわけでないので注意してください。この場合、Browseボタンを押して、必要なJDEを選んでください。BlackBerryのEclipseは、<Eclipse folder>\plug-ins\net.rim.eide.componentpack<version>にJDEがあります。
- 選択されたJDEのJavaホームディレクトリを選びます:jdk1.6.0_2 for JDE 4.2以上。
- MDSシミュレータノードを選択し、JDEディレクトリからMDSを選びます。OKを押します。
- ワークスペースが作成されます。ダイアログでclean all projectsを選びます。OKを押します。 RubyVMプロジェクトがビルドされますので、rhodes\platform\bb\RubyVM\RubyVM.jarをチェックしてください。
- <rhodescheckout>に移動し、'rake build:bb:rhobundle'コマンドを実行します。これで、rhodes\platform\bb\RhoBundle\RhoBundle.jarが作成されます。
- Eclipseに戻り、Project\Clean...、Clean all projectsを選び、OKを押します。
おめでとうございます。これですべてです。
Eclipseビルドでの既知の問題
時々、BBのEclipseプロジェクトが間違った状態でチェックされ、ロード後に正しくビルドできません。
- すべてのサブプロジェクトが、BlackBerryでアクティべイトされているのを確認してください(サブプロジェクトを右クリックし、[Activate for BlackBerry]メニュー項目を選択します)。
- プロジェクトの依存関係を正しく設定し、確認してください(Project\Properties...メニューを選択し、BlackBerryProject Dependenciesに移動)。次の依存関係を設定します:
- PersLiteは依存関係を持っていない
- PersImplJSR75はPersLiteに依存する
- RhoBundleはRubyVMに依存する
- RubyVMは依存関係を持っていない
- RhodesはPersLite、PersImplJSR75、RhoBundle、RubyVMに依存する
コード変更後の再ビルド
- <rhodescheckout>に移動し、'rake build:bb:rhobundl'コマンドを実行。これは、rhodes\platform\bb\RhoBundle\RhoBundle.jar を再作成します。
- EclipseでRhoBundleプロジェクトを右クリックし、Refreshを選択します。これで、rhodesとRhoBundleが再ビルドされます。Builderコンソールのメッセージを見ることができます。もしくは、ただClean all projectsします。
Eclipseシミュレータのデバッグ方法
- ツールバー(小さなバグアイコン)からDebug\Open debug dialog...を開きます。BlackBerryシミュレータノードをダブルクリックします。
- シミュレータのページに移動し、デフォルト以外のProfileを選択します。'Launch Mobile Data System Connection service with simulator'チェックボックスをチェックします。(注意:コンピュータにMDSがインストールされていること)
- Debugボタンを押します。シミュレータが起動します。Eclipseは、見つからないデバッグ・ファイルについて尋ねるかもしれませんが、'Don't ask me again button'を押します。( <JDE_HOME>\simulator\clean.batを実行してエミュレータを再度起動することで、エミュレータをクリーンにすることもできます)
- エミュレータ上でメニューボタンを押します。ダウンロードへ移動し、Rhodesを実行します。
Windows Mobile
RhodesアプリのWindows Mobileのバージョンは、Windows環境でビルドする必要があります。
前提条件
- この手順に従う
- .NET Compact Framework
- のWindows Mobile 6 Professional SDK
- Microsoft Active Sync 4.5
- Visual Studio2005 Service Pack 1のインストール
- 7 - ZIP: http://www.7-zip.org/
ActiveSyncメインウィンドウを開き、File->Connection Settingsに移動、"Allow connections to one of the following"チェックボックスを選択し、リストボックスから"DMA"を選びます。これは、エミュレータで動作するのに必要です。
コマンドラインでアプリケーションをビルド
- C:\Program Files\Microsoft Visual Studio 8\VC\vcpackagesがPATHにあることを確認してください(vcbuild.exe)。ここでPATH環境変数に設定されるべきPATHのリストあげておきます:
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\bin;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin
- アプリケーションディレクトリに移動します。ここから、Windows MobileのすべてのRakeタスクを実行することができます。
rake device:wm:production
- ビルド処理中にアプリケーションが自動的に署名させたい場合には、rhobuild.ymlの'build'セクションへ'wmsign'キーをフルパスで追加してください:
wmsign: <disk:/path/MySign.pfx>
- Windows Mobileのコード署名についてのより詳細は以下で見つけることができます:
http://msdn.microsoft.com/en-us/windowsmobile/dd569132.aspx
IDEでのビルド
- githubからRhodesソースコードをcheckoutします
- Visual Studioで platform\wm\rhodes.slnを開きます。
- Windows Mobile 6 Professionalを開き、build Release configurationをを開きます。
- 'rhobuild.yml'をテキストエディタで開きます:
- CabWiz toolのパスを定義
- アプリケーションのパスを定義
- 'rake build:wm:devrhobundle'を実行
- エミュレータのクレードルを確認します(Tools->Device Emulator Manager->Select Running Emulator->Actions->Cradle)
- 前の手順から、rhodes.exeとrhobundle(platform\wm\bin\Win32\rhodes\Debug\rho)を My Computer->Mobile Device to \Program Files\rhodes(すべての古いファイルを上書きを保証するため、\Program Files\rhodes\rhoフォルダの中身を最初に消すこともできます) へコピーします。
アプリケーションを変更した場合:
- 'rake build:wm:devrhobundle'を実行して、アプリケーション・コードをコンパイルします
- platform\wm\bin\Win32\rhodes\Debug\rhoフォルダをデバイスまたは\Program Files\rhodes\rhoのエミュレータへコピーして、デバイスやエミュレータ上での変更を確認することができます。(すべての古いファイルを上書きを保証するため、\Program Files\rhodes\rhoフォルダの中身を最初に消すこともできます)
アプリケーションを変更した場合は、アプリケーションのrake taskを使用します:
- "rake device:wm"を実行し、アプリケーションコードをコンパイルする
- <appdir>\bin\target\rhodes.cabのコンテンツをデバイスもしくは \My Documents\のエミュレータにコピーし、ロードすると、デバイスまたはエミュレータ上で変更を確認することができます。(上書きを確実にするため、以前の.cabファイルを最初に消すことができます)
ウィンドウズエミュレータ
前提条件
- この手順に従います
- Visual Studio 2005 Service Pack 1もしくはVisual Studio 2008。
- WTL:http://wtl.sourceforge.net/ :
- フォルダ <VS path>\VC\WTLに解凍
- Visual studioでTools\Options\Projects and solutions\VC++ directories. Platform - Win32を開くPlatform - Win32; Show directories for - Include files; そして以下を追加します
$(VCInstallDir)wtl\include
コマンドラインでのアプリケーションビルド
- C:\Program Files\Microsoft Visual Studio 8\VC\vcpackagesがpathにあることを確認します(vcbuild.exe)PATH環境変数に設定すべきPATHのリストは:
C:\Program Files\Microsoft Visual Studio 8\Common7\IDE;C:\Program Files\Microsoft Visual Studio 8\VC\BIN;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools;C:\Program Files\Microsoft Visual Studio 8\Common7\Tools\bin;C:\Program Files\Microsoft Visual Studio 8\VC\PlatformSDK\bin;C:\Program Files\Microsoft Visual Studio 8\SDK\v2.0\bin
- ビルドしエミュレータで動作させるため、rake run:win32を使います
- すべてのバイナリをcleanするために、rake clean:win32を使います
ロギング
Rholog.txtは<rhodes folder>\platform\wm\bin\win32\rhodes\Debug\rho にあります。
Android
前提条件
- Andriod SDK互換のOS(こちらをご覧ください )
- この手順に従います
- Android SDK Starter Packageをダウンロードします。
- MacOSXでは<sdk>/tools/androidを(Windowsでは<sdk>/SDK Setup.exe)を起動します。
- Settings で 'Force https://... sources to be fetched using http://'を選び'Save&Apply'をクリックします。
- Available で Expand 'https://dl-ssl.google.com'を選びます
- 最新のSDKのバージョン、SDKプラットフォーム1.5 API 3、およびGoogle API by Google Inc、AndroidのAPIを3をダウンロードします。
- ANDROID_HOME環境変数をSDKをインストールした場所に設定し、<sdk path>/toolsをPATHに追加します。
- Android NDKのダウンロードとインストール
- Revision4はRhodes1.5では動作しないことに注意してください。
- Rhodes1.5の場合は、Revision3をダウンロードしなければなりません(Googleはそのリンクをしていませんので、ダウンロードURLでr3をr4に変更してください)
- rhodes-setupを起動して、RhodesにAndroid SDKとNDKをインストールした場所を教えます。
- Rhodes1.5以降 - native geo mapping(MapView interface)で行う計画があるなら、2つのことを行う必要があります:
android:
apikey:"GOOGLE-API-KEY-FOR-ANDROID"
- アプリケーションのbuild.yml(または<rhodes-root>/rhobuild.yml)'mapping'を有効にします。
android:
mapping: yes
Rhodes1.2以前
Linux/MacOSX:
<android_sdk>/platforms/android-1.5/tools/dx を編集します。
javaOpts="-Xmx215M"のコメントを外し、以下のように変更します:
javaOpts="-Xmx768M -Xms768M"
Windowsの場合:
<android_sdk>/platforms/android-1.5/tools/dx.bat を編集します。
最後の行を変更します:
call java -Xmx768M -Xms768M -Djava.ext.dirs=%frameworkdir% -jar %jarpath% %*
Rhodes1.4以降を使っているなら、必要ありません。
注:ユーザーのAndroid 1.5(以降)のユーザへの特別な注意
アプリケーションをチェックして、htmlページにcssファイルをincludeする方法を変更します。
たとえば、以下のようになります。
これを
<style type="text/css" media="screen">@import "/public/js/iui/iui.css"; @import "/public/css/rho.css";</style>
以下で置き換えます
<link rel="stylesheet" href="public/js/iui/iui.css" type="text/css">
<link rel="stylesheet" href="public/css/rho.css" type="text/css">
そうしないと、cssファイルはAndroid1.5にロードされません。
ラインコマンドからアプリケーションを実行
- PATHにjava binディレクトリがあることを確認してください
- コマンドラインから、rhodesアプリケーションディレクトリで、実行:
rake run:android
- もしrakeコマンドがスタックしたら、コマンドウィンドウをkillすることができます。別のウィンドウを開き、以下を実行します
adb start-server
rake run:android
- 注:最初に、エミュレータの設定についていくつかの質問を求められます。ほとんどの質問に"yes"と答えるか、デフォルトの答えを使用すべきでしょう。これは、AVD configurationの作成に要求されるものです(これはAndroid1.5の新機能です)
コマンドラインからのRhodes.apkのビルド
- コマンドラインから、Rhodesアプリケーションディレクトリで、以下を実行します:
rake device:android:production
- 所有するキーと証明書を格納するkeystoreを作成します。一度だけこの操作を行う必要があります。
% keytool -genkey -v -keystore my-release-key.keystore -alias alias_name -keyalg RSA -validity 10000パスワードを指定し、すべての質問に答えてください。
- 新しく作成されたkeystoreを使って、アプリケーションに署名します:
% cd <rhodes-app-dir>/bin/target
% jarsigner -verbose -keystore my-release-key.keystore Rhodes.apk alias_name
- アプリケーションが署名されたことを確認します:
% jarsigner -verify Rhodes.apk
jar verified.
- 署名されたアプリをデバイスへインストールします:
% adb install Rhodes.apk
EclipseでRhodes.apkをビルド
- 以下のディレクトリに新しいワークスペースを作成します:<Rhodes>/platform/android
- tree上でAndroid nodeをクリックし、インストールしたAndroid SDKへのファイルパスを指定します(例:E:\android\android-sdk-windows-1.6_r1)
- 次のディレクトリからすべてのプロジェクトをインポート:<Rhodes>/platform/android
- 自動的にソースのビルドのオプションを設定した場合、すべてがインポートの直後にコンパイルされます
===Rhodes1.2または下位===
* treeのGeneral/Workspace/Linked Resources nodeをクリックし、関連するSettingsWindowの右側の"New..."をクリックします。
RHO_SHARED変数を作成し、共有フォルダへのファイルパスを設定する必要があります。例えば:
RHO_SHARED E:\Projects\rhomobile\1-2-stable\platform\shared
*Preferences windowを閉じます
*rake build:android:rhobundle でRhoBundleプロジェクトをビルドします。
*変更をリロードするためにRhodesプロジェクトをリフレッシュします。
*自動的にソースのビルドを行うオプションを指定していないなら、Project/Clean...メニュー項目をクリックし、RhodesとRubyJVMプロジェクトを選択します。OKをクリックして、プロジェクトをクリーン・再ビルドします。
SDK1.5以降:
Rhodesプロジェクトを右クリックし、Androidの1.5ターゲットを選択します。
binディレクトリを確認します。Rhodes.apkファイルが作成されたのを確認してください。これは、SDKで提供さるデバッグキーで署名されます。
これで、デバイス/エミュレータへアプリケーションをインストールする準備が整いました。
アプリケーションapkファイルのインストール
エミュレータへapkをインストール
エミュレータ上でRhodesベースのアプリケーションを起動させるには、アプリケーションフォルダで'rake run:emulator'と入力するだけです。例:
[user@laptop ~/rhodes-system-api-samples]$ rake run:android
これは、(必要ならば)エミュレータ上に新しい仮想sdcardを作成し、すでにエミュレータが動作していないか(もし動作していないなら実行し)確認し、そこのアプリケーションをアップロードします。アプリケーションのbuild.ymlで実行するエミュレータのバージョンを指定することができます:
android:
version: 2.1
apkをデバイスへインストール
Androidデバイスがある場合は、Androidのアプリケーションの開発・デバッグを普通にできます。エミュレータ上と同様にデバイス上でアプリケーションを起動しますが、実際に始める前にいくつか行わなければなりません。
関連するAndroidのドキュメントのリンクをチェックしてください:http://developer.android.com/guide/developing/device.html
そして、アプリケーションフォルダに移動し、rake run:android:device'を実行します。例:
[user@laptop ~/rhodes-system-api-samples]$ rake run:android:device
デバイスが接続されているかは、SDK tools/ディレクトリから"adb devices"を実行することで確認することができます。接続している場合、デバイス名は"デバイス"として表示されます。
アプリケーションのアンインストール
エミュレータからアンインストール
[user@laptop ~/rhodes-system-api-samples]$ rake uninstall:android
デバイスからアンインストール
[user@laptop ~/rhodes-system-api-samples]$ rake uninstall:android:device
デバイス/エミュレータからログを取得
デバイスやエミュレータからログを取得するには、アプリケーションフォルダまたはrhodesソースツリーのルート(rhobuild.ymlがある場所)から'rake device:android:getlog' もしくは 'rake emulator:android:getlog'コマンドを実行します。アプリケーションログはデバイス/エミュレータから取得され、RhoLog.txtの名前でアプリケーションディレクトリに格納されます。
Symbian
注:Rhodes v1.1への要求の増加により、Symbianのサポートは中断しています。RhodesアプリのSymbianバージョンのビルドにもWindows環境が必要です。
前提条件
- 次の手順に従います
- Nokia Series 3rd Edition SDK for Symbian OS
- Active Perl 5.6.1
前提条件(FP1)
- PIPS library
- Open C/C++ Plug-ins for S60 3rd Edition
インストール手順
現在、FP2の使用だけが推奨されます。それはFP1 SDKブラウザはPOSTリクエストでよく知られた問題があるからです。
- Nokia Series 60 3rd Edition SDK for Symbian OS:
Feature Pack 2をお勧めします。以下からダウンロードすることができます: http://www.forum.nokia.com/Resources_and_Information/Tools/Platforms/S60_Platform_SDKs/注:SDKとRhodesフォルダは同じ論理ディスクドライブ上にある必要があります。
注意:バージョンは5.6.1限定でダウンロードはここ 。
インストール手順(FP1)
'pips_9_1_s60_sdk_1_2.zip'ファイルをダウンロード: http://developer.symbian.com/wiki/pages/viewpageattachments.action?pageId=1411アーカイブからファイルを解凍します。そして、pdfの指示に従って、ファイルをs60 SDK systemディレクトリにコピーします。
- Open C/C++ Plug-ins for S60 3rd Edition.
ダウンロードします: http://www.forum.nokia.com/info/sw.nokia.com/id/91d89929-fb8c-4d66-bea0-227e42df9053/Open_C_SDK_Plug-In.htmlプラグインのセットアップのため指示に従います。
rhodes gemを使ってアプリケーションをビルドする[1.0 のみ - 1.1ではbuilding symbian from sourceに飛んでください]
HOME環境変数を設定します。それは任意のディレクトリで、例として:
C:\Documents and Settings\<account_name>
HOMEディレクトリにrho_build.confファイルを作成し、そこにアプリケーションのディレクトリを定義します:
apps.dir=<path to test_application>
アプリケーションディレクトリのbuild.ymlを編集します:
symbiantools: C:/PROGRA~1/COMMON~1/Symbian/Tools
symroot: <symbian SDK root>
もし必要なら、'symbian'セクションのcertification parametersを変更します
rake -Tが利用できるrakeコマンドを表示します
Symbianシミュレーションを使ったビルドと実行[FP1 SDK]
注:FP1 SDKエミュレータは、ブラウザでPOSTリクエストで問題があることが知られています。この場合、FP2エミュレータでテストすることをお勧めします。デバイスのRhodesをビルドするには、FP1とFP2のSDK双方とも利用することができます。
- C:\Symbian\9.2\S60_3rd_FP1\Epoc32\winscw\c\system\data\config.iniを以下のように編集します:
[STDIO]
STDIN = MEDIA1
STDOUT = MEDIA4
空のファイル"in.txt"をC:\Symbian\9.2\S60_3rd_FP1\Epoc32\winscw\c\system\data folderに作成します
- アプリケーションのルートディレクトリで実行します:
rake run:symbian:app
- シミュレータが自動的に起動されます。注:シミュレータ最初起動に非常に長い時間がかかります。以降の起動は早くなります
- Rhodesアプリケーションが自動的に起動されます。メニューの'Installed'>Rhodesへ移動し、アプリケーションのコンテンツを表示します。
Symbianシミュレータを使ってビルドと実行[FP2 SDK]
[注意]この機能はバージョン1.1のみで利用可能です。
- 以下のようにC:\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\winscw\c\system\data\config.iniを編集します:
[STDIO]
STDIN = MEDIA1
STDOUT = MEDIA4
- 空のファイル"in.txt"をC:\S60\devices\S60_3rd_FP2_SDK_v1.1\epoc32\winscw\c\system\data folder に作成します。
[注意]複数のバージョンのSDKをインストールしていて、Carbideを使っているならば、すべてのプロジェクトがFP2 SDKを使うように設定されていることを確認します(build configuration optionsをチェックします)。
- アプリケーションのルートディレクトリで、利用するSDKへの正しいパスがbuild.ymlで"symroot"に設定されていることをチェックします。
- 最初に、Symbianエミュレータをstart>Programs>S60 Developers Tools>3rd Edition FP2>v1.1>Emulatorから起動する必要があります。そして、Tools>Preferencesメニューを開き、"General Settings"タブへ移動し、 Memory Capacity valueを96MBに設定します。
- アプリケーションのルートディレクトリで以下を実行します:
rake run:symbian:app
- Rhodesアプリケーションが自動的に起動されます。メニューで‘Installed’>Rhodesへ移動し、アプリケーションのコンテンツを表示します。
デバイス用のアプリケーションをビルド
- 携帯電話にPIPSライブラリをインストールします:
rhodes\platform\symbian\lib\pips_nokia_1_3_ss.sis
- SISパッケージに署名するには、有効なシンビアンの証明書とキーが必要です。署名されたパッケージ(SISX)のみが実際のデバイスにインストールすることができます。
http://developer.symbian.com/wiki/display/pub/The+Complete+Guide+to+Symbian+Signed,
{1}http://www.symbiansigned.com{/1} へ移動しhttp://www.symbiansigned.com指示に従って、Symbianアプリケーションに署名するための有効な証明書/キーを取得します。証明書(.cert)とキー(.key)を"symbian/rhodes/sis/cert/"フォルダへ配置します。注:自己署名生成キーを使用することができます。
rake device:symbian
- コンパイルされ署名されたrhodes.sisxファイルが以下にあります:
$(application root)\bin\target\symbian
ソースコードからrhodesのビルド
以下を:
static const char* const KSuppressPlatSecDiagnostic =
KSuppressPlatSecDiagnosticMagicValue;
このように変更します:
#if defined(__cplusplus)
static const char* const KSuppressPlatSecDiagnostic =
KSuppressPlatSecDiagnosticMagicValue;
#endif
- Symbian C + +の開発環境をインストールします。望ましいのは:"Carbide C++ v2.0"で、以下からダウンロードします。
http://www.forum.nokia.com/main/resources/tools_and_sdks/carbide_cpp/
'rhodes\platform\symbian\build'ディレクトリの'build.properties'ファイルをオープンします。
S60_3rd_FP1=<path to symbian SDK>
注意: このパスはドライブ・レターを含んではなりません。そして最後にスラッシュ(/)がなければなりません。
デバイスのビルドには'build.target=GCCE UREL', エミュレータのビルドには'build.target=WINSCW UDEB'
をデフォルトのSDKをSDK=S60_3rd_FP1に設定します。
'<Carbide20>\x86Build\env_switch\env_update.exe'をコマンドラインから実行します。
サポートされているAntのターゲット
- RUBYOPT変数を解除します。Windows上のデフォルトでは、RUBYOPT変数が設定されていますが、これは必要でははありません:
set RUBYOPT=
build-all : to clean + build + make sis + sign sis (no checkout)
build-selfsign : to clean + build + make sis + selfsign sis (no checkout)
build-build : to build + make sis + sign sis (no clean, no checkout)
build-sis : to make sis + sign sis (no clean, no checkout, no build)
rhobundle : to make rhobundle
2つのオプションがあります:
- 作業ディレクトリでパッケージをビルドします(ターゲットは'build-'プレフィックスから始まります)
- RhoBundleをビルド
パラメータなしで"ant"コマンドを使うことで、サポートされているターゲットを見ることができます。注意:それぞれのターゲットで、SDKパラメータでSDKバージョンを指定しなければなりません。たとえば、以下のようになります。
ant build-all -DSDK=S60_3rd_FP1
これは、S60_3rd_FP1 SDKを使ってビルドします。(build.propertiesファイルで分かるように)
出力ファイル(およびログ)は'rhodes\platform\symbian\bin'に配置されます:
- "rhodes_v-x.y.z.sis"はメインパッケージです
- "rhodes_v-x.y.z.sisx"はメイン署名付きパッケージです
Carbide.C++の手順
- ワークスペースのディレクトリをroot..\rhodesディレクトリにします。
- 次のプロジェクトをインポートする必要があります(Carbideでbld.infのインポートを選択します)
rhodes\symbian\shttpd\group
rhodes\symbian\SQLite60\group
rhodes\symbian\rubylib\group
rhodes\symbian\rhodes\group
- Carbide IDEは相対ファイルパスのインデックスをサポートしていません。この問題は、bld.infのインポートに負の影響をもたらします。なぜなら、それぞれのプロジェクトに外部のincludeディレクトリが含まれているからです。
この問題を解決するために、それぞれのプロジェクトごとに.mmpファイルをオープンする必要があり(インポートの成功のためにも必須です)、USERINCLUDEとSOURCEPATHのlinksを一時的に“..\..\” と “..\..\..” を先頭に付けてコメントする必要があります。
このようなリンクの例:
USERINCLUDE ..\..\SQLite60\src
USERINCLUDE ..\..\..\shared\json
USERINCLUDE ..\..\..\shared\syncengine
USERINCLUDE ..\..\..\shared\ruby
SOURCEPATH ..\..\..\shared\shttpd\src
- プロジェクトのワークスペースへのインポートが成功したら、USERINCLUDE linkのコメントを解除する必要があります。
- RhodesプロジェクトのProject Propertiesを開き、Project Referencesへ移動し、すべてのプロジェクト(rubylib、shttpd、SQLite6)をチェックしてください。
HOWTO:アプリケーションの名前とアイコンをカスタマイズ
gemsを使用(1.1.1 - 1.2.1)
Gemのバージョン1.2.2以降、次のセクションの手順を使用します(ソースを使用します)。
カスタムベンダー名、アプリケーション名とアイコンを設定するには、以下の手順を行う必要があります:
- アプリケーションのルートディレクトリにあるbuild.ymlをオープン
- "vendor"変数が存在する場合、変更して、新しいベンダ名を設定します
- アプリケーション名を設定するには"application-name"変数を変更します
- アイコンのディレクトリの変更を設定するには "application-icon-dir"変数を変更します
例えば、(build.yml):
env:
version: 1.1.1
vendor: VDGGroup
application-name: SugarCRM
application-icon-dir: E:/MyDocuments/My Pictures
...
注:アプリケーションのアイコンは名前が以下のように必要があります:
- icon.png:BB,iPhoneとAndroid
ソースの使用
- 現在のところiphone、Android、BlackBerrryで動作します
Xcodeを使ってのiPhone
- target->info->General->Name
- Target->info->Build->Product Name (すべてのconfigurationsで)
- rhodes\platform\iphone\icon.png - オリジナル・アイコンに変えます
- rhodes\platform\iphone\Info.plistをチェックします。BundleName=${PRODUCT_NAME}があるはずです。
アプリケーション名
アプリケーションフォルダ内のbuild.ymlに、エントリ"name"があります。これは、ユーザーがデバイス上で見える表示名です。例:
name: My Own App
アプリケーションアイコン
アイコンとして使う画像をアプリケーションの'icon'フォルダに配置します。testappというアプリを作ったら、そのフォルダは"testapp/icon"になります。アイコンは'icon.png'という名前でなければなりません。
testapp/
build.yml
Rakefile
rhoconfig.txt
app/
public/
icon/
icon.png
icon.ico