AIR GEARを使ってみてはまったこと

ライブストリーミング配信を利用したベビーモニターを作ってみようと思い立ち、
ちょっと本腰を入れてFlexに取り組んでみました。
配信にはRED5を利用すれば簡単ですね。


サーバ側はいいんですが、Flexやらなにやらについては結構困りますね。
というわけで、前々からチェックしていたAIR GEARを使ってみました。


で、一通り使ってみたところ、
AIRアプリとしてエクスポートする際に、
以下問題が発生しました。

環境

Eclipse Version: 3.4.0
AIR GEAR 1.0.4
Adobe AIR 1.5.3 SDK
flex_sdk_3.5.0.12683_mpl

AIRパッケージとしてExport出来ない その1。

application.xml: error 100: Application descriptor cannot be parsed


設定ファイルのミスだそうで・・・
どうやら、AIR GEARはプロジェクト作成時に
AIR SDK\templates\air\descriptor-template.xml
辺りを元に設定ファイルを用意してくれるようですが、その際ファイルの先頭にLFを入れてしまうようです。
この改行が原因ですので、最初の空行を削除すれば問題ありません。
standalone="no"の記述が・・・みたいなネットエントリーもありましたが、
私では効果が無かったです(むしろ編集の過程で改行を消したんじゃないかなぁと思ったり)


ちなみに、プロジェクトのデフォルト・テキスト・エンコードはMS932(コンテナから継承)です。
プラグインが吐き出してくれるファイルはUTF-8で出来るんですけどね。
この辺り関係するのかなぁとか。

設定について訂正

SDKフォルダからは引っ張ってこないようです。
Eclipseの設定 > AIR GEAR > Templates > ApplicationDescriptor
で出来るようです。チケットも上がって確認されたみたいです。そのうち修正されると思いますけど
一応ここでも直せるよということで。知ったかかましてしまいました。

AIRパッケージとしてExport出来ない その2

Could not generate timestamp


自己証明書を使って適当にやっていますが、ここでProxy環境下だと接続エラーになります。
もちろんeclipseの設定は完璧です。


これに関してはAIR SDKのadt.batに処理を委譲していますので、
eclipseの設定は効きません。


というわけで、該当のadt.batを編集して、Proxy設定を渡してやります。

@java -jar "%~dp0\..\lib\adt.jar" %*


===>

@java -Dhttps.proxyHost=ホスト -Dhttps.proxyPort=ポート -jar "%~dp0\..\lib\adt.jar" %*


これでようやくパッケージの作成が可能になりました。
みたらホストとかがわかっちゃうじゃないか!ってのが気になる人は、環境変数などをうまく使ってみてください。


JREのプロパティとして・・・

以下にJREのプロパティとして渡す・・・なんてのもありました。
が、まぁJavaがたくさん入っているような環境の人は微妙かもしれませんね。
http://www.fxug.net/modules/xhnewbb/viewtopic.php?topic_id=1681