WinでTitanium Studio
ちょっと(楽して)作ってみようって人にはハードル高すぎだろこの環境。
というわけでWinに入れたTitanium Studioがそのままではテンプレートで生成されたデフォルトのコードすら実行できない問題の解決方法とか書きます。
なお私はAndroidでやりましたので、(いるのかわかりませんが)BlackBerryの人は他を当たってください
あとTitanium Studioのバージョンは Titanium Studio, build: 1.0.2.201107130739 で、Titanium SDK は 1.7.2 だそうです。
基本
まあこれは問題ではないんですが、設定を弄るダイアログがメニューバーの Window -> Preferences に入ってるのがちょっと意外だったので。
Android SDK
2つほど問題があるようです。
Android Emuratorの引数
さて、設定は済みましたがこのままだとビルド後にエミュレータで実行するときにこけると思われます。
Android Emuratorの引数にスペースの入ったパスが含まれている場合、このスペースが引数の区切りとして解釈されるためこんな引数しらねーよ!(意訳)と怒られた結果、エミュレータが起動しないからです。
幸いにもエミュレータに渡す引数の構築はPythonのスクリプトでやっているようなので、さくっとfixします。
書き換えるスクリプトは
%ALLUSERSPROFILE%\Application Data\Titanium\mobilesdk\win32\1.7.2\android\builder.py
です。環境変数やTitanium SDKのバージョンは適当に読み替えてください。
私の環境では %ALLUSERSPROFILE% は C:\Documents and Settings\All Users に展開されました
このスクリプトの393行目あたりでエミュレータの引数を構築しています。
# start the emulator emulator_cmd = [ self.sdk.get_emulator(), '-avd', avd_name, '-port', '5560', '-sdcard', self.sdcard, # この行を書き換える '-logcat', '*:d,*', '-no-boot-anim', '-partition-size', '128' # in between nexusone and droid ]
上で示した行のコードを '"%s"' % self.sdcard に書き換えます。
書き換えるとこんな感じ
# start the emulator emulator_cmd = [ self.sdk.get_emulator(), '-avd', avd_name, '-port', '5560', '-sdcard', '"%s"' % self.sdcard, # self.sdcard から書き換えた '-logcat', '*:d,*', '-no-boot-anim', '-partition-size', '128' # in between nexusone and droid ]
まあパスをダブルクオートしただけです。
なお、ためしに self.sdcard にパスを代入する段階でクオートしたところ別の場所でこけるようになってしまったので、エミュレータの引数を構築するこの段階でクオートするのが正解のようです。
その他の注意点
パス
環境変数 Path に (Android SDKの入ってるディレクトリ)\platform-tools と (同ディレクトリ)\tools が入っていることを確認しましょう。
パスが通っていれば、コマンドプロンプトから adb version でadbのバージョンが出てくるはずです
また、JDKへのパスが通っていないかもしれません
その場合も環境変数 Path に (JDKのディレクトリ)\bin を追加しましょう
パスが通っていれば、 javac -version でjavacのバージョンが(ry
adb.exe
ビルドして実行するときに adb.exe が動いたままになっていたらタスクマネージャから殺しましょう
最後に
これでビルドして実行できるはずです。
できない人はビルドログか何かを見て頑張ってください。