Titanium Studioでエミュレーターが起動しない件の続き。
前回は強引に起動しておくという方法をお伝えしたが、実にまっとうなやり方で解決している人がいたので紹介。
WinでTitanium Studio
素晴らしいよ。コピペプログラマとは違うよ。
早速コピる俺。
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 に展開されました
俺の環境では、%ALLUSERSPROFILE% ではなく、ユーザー名/Application Data だった。
このスクリプトの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 にパスを代入する段階でクオートしたところ別の場所でこけるようになってしまったので、エミュレータの引数を構築するこの段階でクオートするのが正解のようです。
へーなるほどねー。かっこいい。
実際にやってみると・・・
すげー 起動したー。なんか嬉しい。
stackboxさんありがとうーーー!
が、起動して喜んだのもつかの間、またエラーでてる。
OperationalError: unable to open database file
どうもこことかによれば、ウイルスソフト停止したらいけたということなのでやってみると、すんなり消えた。
都度ウイルスソフト停止すんのもめんどいけど、まぁいっか。
もう眠いしな・・・
免責
この記事やプログラムによって生じた事故・損害などは一切保証致しません。ご自身の責任でご使用ください。
子育てブログ「おとう日記」はじめました。
興味ある方、是非ご覧下さい!
おとう日記
コピペプログラマの倉庫を作りました。
サンプルプログラムなど置いておきますのでお立ち寄り下さい。
コピペプログラマ倉庫
良ければ↓投票お願いします↓ m(._.)m ペコッ
人気ブログランキングへ
0 件のコメント:
コメントを投稿