Androidアプリを簡単に作れそうなのでTitaniumを触ってみました。インストール&セットアップはぐぐればすぐに見つかるので省略します。
環境構築は簡単に終わったのでサンプルの集合であるKitchen Sinkを動かそうと思ったのですがエミュレーターが起動しませんでした。私の環境は以下です。
- OS: Windows XP 64bit
- Titanium Studioのビルド: 1.0.6.201110251616
- Titanium Studioのビルド日: 25 October 2011, 16:19:29
上記の環境でlogcatには以下が出力されていました。
[DEBUG] C:\apps\android-sdks\tools\emulator.exe -avd titanium_6_HVGA -port 5560 -sdcard C:\Documents and Settings\kappa\.titanium\titanium_6_HVGA.sdcard -logcat *:d,* -no-boot-anim -partition-size 128
invalid command-line parameter: and.
[DEBUG] signal caught: 3
どうやらandというおかしな引数がアプリへ渡っているようです。コマンドをよく見ると、引数は空白区切りなのにユーザーのホームを表すパスに空白が含まれています。そのため引数の区切りがおかしくなっています。Unix系アプリをWindowsへ移植した時によくあるバグですね。以下のように修正したらエミュレーターが正しく動きました。
以下のファイルの、
C:\Documents and Settings\kappa\Application Data\Titanium\mobilesdk\win32\1.7.5\android\builder.py
405行目のこれを、
self.sdcard,
このように修正します。
'"'+self.sdcard+'"',
このエラーはホームのパスに空白が入るせいで発生します。ですのでWindows VistaやWindows 7ではおきないと思います。