AIR SDK のデバッグエラーメッセージはほんとわかりづらい。
デバッグのために、
M:\AirSrc>adl Main-app.xml
と adl を実行すると、
error while loading initial content
とエラーがでる。
これ、直訳すると「初期コンテンツをロード中のエラーです」みたいな感じだと思うけど、実は「バージョンエラー」なのだ。
AIR の場合、アプリケーション記述ファイルの<application>タグの名前空間指定として記述した URL の末尾が、実行に必要とするランタイムのバージョンを示すのだ。
上の例だと、Main-app.xml に、↓こう書いている。
<application xmlns="http://ns.adobe.com/air/application/1.0">
確かに、デバッグに使っている AIR SDK の 'AIR SDK Readme.txt' を読むと、Adobe AIR 1.5 SDK の記述があり、AIR 1.5 でコンパイルして AIR 1.0 ランタイムで実行というのはおかしな話じゃろう・・・ということがわかるのだが、
error while loading initial content
このメッセージでそれがわかるか!?もう少し親切なメッセージを出せよ、実際。それでいかほどもプログラムが大きくなるわけじゃあるまいに。
で、
<application xmlns="http://ns.adobe.com/air/application/1.5">
こう直すとエラーは収まる。む~ん。
あと、
invalid application descriptor: descriptor version does not match runtime version
これなら、ま、上のエラーの逆で、ビルドしたのと違うバージョンのランタイムを使おうとした・・・ということがわかるんじゃけど。
しかし、↓これはわからん。
invocation forwarded to primary instance
adl の二重起動エラーなのだが、もっと分かり易いメッセージにできんもんかいな?
わざわざ分かりづらくしているような・・・(^^;
ちなみに、adl の二重起動だが、Flex Builder のデバッグ窓で「終了(T)」を選んでデバッグの実行を止めてもこのエラーが出続けることがある。謎。
そういうときは、Eclipse を再起動するしかない。
あ、実際に adl が動いているか、タスクマネージャで見るの忘れてた。
コメントする