何がなんでもTitanium MobileでKitchenSinkを起動したい人の覚書(Windows)

20120726追記:Titanium Studioは管理者権限で実行する必要があります。


WindowsでKitchenSinkを起動するまでのバッドノウハウ(BK)やハマりどころをまとめました。

動作確認環境
Vista SP2, Titanium Developer 1.2.2 (Mobile SDK 1.2.0), adb.exe 1.0.26, KitchenSink 1.5.0-update2

最重要チェックポイント

環境変数pathにAndroid SDKは設定されているか
例 C:\Program Files\Android\android-sdk-windows\platform-tools;C:\Program Files\Android\android-sdk-windows\toolsの2箇所を追加。pathが通っていればコマンドプロンプトから adb version でバージョンが返ってくる。
TitaniumにAndroid SDKのpathは正しく設定されているか
左上のボタンのProfileから。例 C:\Program Files\Android\android-sdk-windows
android-sdk-windows\toolsのadb.exeをandroid-sdk-windows\platform-toolsにコピーしたか
API 2.2 まではtools\adb.exeが使われて、API 2.3以降はplatform-tools\adb.exeが使われるので移動ではなく、コピーという話だと思う。
SDK ManagerでAPIパッケージをインストールしてあるか
ここ参照 Titanium and Android SDK Tools r8 « Appcelerator Developer Center
エミュレータを実行する際、adb.exeがすでに起動していたら終了させる
これ一番ハマりやすい点だと思う。[ERROR] Timed out waiting for emulator to be ready, you may need to close the emulator and try again がでる。現バージョン(Mobile SDK 1.2.0)ではAPIを変える度にadb.exeを手動で終了させる必要がある。タスクマネージャのプロセスから終了。
KitchenSinkはSDK "APIs 2.2"か"APIs 2.3"で実行すべし
それ以外のSDKで実行すると、[ERROR] Failed installing com.appcelerator.kitchensink: pkg: /data/local/tmp/app.apk などがでて失敗する。

以下はTitaniumでKitchenSinkを起動するまでのざっくりした流れ。

準備

Android SDKとTitaniumのインストール、pathなどセットアップを以下のサイトなどを参考にして済ませておく。


KitchenSink 1.5.0-update2をダウンロード。解凍するとフォルダの中にAndroidiPhone用とiPad用の二種類入っているのでインポートの際に注意する。

KitchenSink起動まで

TitaniumにAndroidiPhone用をインポートする。SDK: APIs 2.3。ScreenはHVGAなど適当。
Launchすると処理が始まり
「キーボード履歴ユーティリティは動作を停止しました」
が2回出るが気にしない。「プログラムを終了させる」でダイアログを閉じる。あとは じっと待つ。
[INFO] Installing application on device
に時間がかかる。この間にエミュレータのカギ印を右に動かしてロックを外しておくとよい。エミュレータを自由に操作できる状態だが、Titaniumは処理を続けている。しばらくして読み込みが完了すると勝手にKitchenSinkが起動する。

メモ

WINDOWS USERS
Please place the Kitchen Sink demo in your user folder or a similarly shallow directory - windows' command line file path lengths cause problems with our build scripts.
appcelerator/KitchenSink - GitHub

  • これKitchenSinkをインポートする場所のpathが長いとうまく動かない場合があるらしいが、参考までに C:\Titanium_workspace\appcelerator-KitchenSink-e38b3dd\KitchenSink で正常動作した。
  • TitaniumのプロジェクトのTest & PackageのRun EmulatorのSDKの項目がLoading...となっている場合は、android-sdk-windowsにpathが通っていない状態。この記事の「最重要チェックポイント」にある、Titanium左上のボタンのProfileからSDKのpathを確認せよ。

Titaniumへ

  • Titaniumに一度Android SDKのpathを設定するとNew ProjectのInstalled Mobile PlatformsでAndroid SDK foundになるが、Android SDKを入れなおしたりして場所が変わっても、Android SDK foundになっていた。まぎらわしいので、起動するたびにチェックしたほうがいいのではないか。
  • エミュレータの閉じるボタンを押した後にadb.exeを終了するようにするか、Launchする度にadb.exeを再起動するようにしたらどうか。(更新されないadbの振る舞い自体がひどい仕様ぽいけど)

Titaniumがうまくいかなかったら

このエントリーもtwitterでヘルプしてもらって動作するようになったので書けました。みなさんも #titaniumJP を付けてつぶやいてみましょう。