[Titanium Studio]Androidエミュレータでのデバッグにハマる
Titanium Mobileの勉強を細々とやってます。
サンプルコードがうまく動かないので、Titanium Studioでデバッグしようとしたら失敗した。
結論を先に書くと、「AndroidデバイスをUSB接続中に、Androidエミュレータでのデバッグを実行すると失敗する」
AndroidデバイスをUSB接続中でも、Androidエミュレータでの実行は問題なくできる。デバッグだとダメ。
需要があるかわからないが、Titanium StudioでのAndroidエミュレータデバッグ起動手順について書く。
1. デバッグ開始
project explorerのdebugボタンを押して開始。Ver1.0ではエミュレータでのデバッグしかできない。

2. debug perspectiveを開く
「debug perspectiveを開きますか?」と聞いてくるので、yesで開ける。聞かれなかったら、メニューバーのwindow→open perspectiveから開く。
3. アプリケーションがインストールされるまでひたすら待つ
デバッグビューのApplication installerが<terminated,exit value:0>となるまで待つ。

通常の起動に比べて、デバッグ時はインストールされるまで時間がかかる。
タイムアウトしたら、エミュレータを終了してやり直す。(結構な頻度でタイムアウトする)
なお、AndroidデバイスをUSB接続中の場合は、<terminated,exit value:1>となり、コンソールに
[ERROR] Exception: error: more than one device and emulator
と表示される。
4. エミュレータのロック解除
アプリケーションはインストール完了後に自動で起動される。
鍵マークをドラッグしてロック解除して、アプリケーションを表示する。
(アプリケーションがインストールされる前にロック解除してもよい)

これでデバッグを開始できる。ブレークポイントの設定やステップ実行手順はeclipseと同じ。
はじめはFastdevが怪しいと思って色々と調べたのだが、Fastdevは悪くなかった。
Fastdevのコンソールに
Error killing app, result: ['App not connected']
と表示されることがあるが、これはFastdevサーバ上にアプリケーションが見つからないだけで問題ない。
サンプルコードがうまく動かないので、Titanium Studioでデバッグしようとしたら失敗した。
結論を先に書くと、「AndroidデバイスをUSB接続中に、Androidエミュレータでのデバッグを実行すると失敗する」
AndroidデバイスをUSB接続中でも、Androidエミュレータでの実行は問題なくできる。デバッグだとダメ。
需要があるかわからないが、Titanium StudioでのAndroidエミュレータデバッグ起動手順について書く。
1. デバッグ開始
project explorerのdebugボタンを押して開始。Ver1.0ではエミュレータでのデバッグしかできない。

2. debug perspectiveを開く
「debug perspectiveを開きますか?」と聞いてくるので、yesで開ける。聞かれなかったら、メニューバーのwindow→open perspectiveから開く。
3. アプリケーションがインストールされるまでひたすら待つ
デバッグビューのApplication installerが<terminated,exit value:0>となるまで待つ。

通常の起動に比べて、デバッグ時はインストールされるまで時間がかかる。
タイムアウトしたら、エミュレータを終了してやり直す。(結構な頻度でタイムアウトする)
なお、AndroidデバイスをUSB接続中の場合は、<terminated,exit value:1>となり、コンソールに
[ERROR] Exception: error: more than one device and emulator
と表示される。
4. エミュレータのロック解除
アプリケーションはインストール完了後に自動で起動される。
鍵マークをドラッグしてロック解除して、アプリケーションを表示する。
(アプリケーションがインストールされる前にロック解除してもよい)

これでデバッグを開始できる。ブレークポイントの設定やステップ実行手順はeclipseと同じ。
はじめはFastdevが怪しいと思って色々と調べたのだが、Fastdevは悪くなかった。
Fastdevのコンソールに
Error killing app, result: ['App not connected']
と表示されることがあるが、これはFastdevサーバ上にアプリケーションが見つからないだけで問題ない。
スポンサーサイト