読者です 読者をやめる 読者になる 読者になる

鳥小屋.txt

ゲーム作ったり、Web的なことしたり、ぐだぐだしたりしますねヽ(・x・)ノ

Adobe AIRのサンプルコードが実行できない……

AdobeAIR

2011/9/12 ちょっぴり追記
2011/9/30 コメントで情報いただいたので反映

昨日の続き,ではなくて何故かAdobeAIRたんの話.
ちょっとしたことがあって,AIRでHTML+JavaScriptなアプリを作ることに.

準備

まずはAdobeAIR SDKをダウンロード!
http://www.adobe.com/jp/products/air/sdk/

僕はWindows君なので右側のWindows版をダウンロード.
ところでUbuntuじゃできないのかな……?

DLしたら,いつもの D:\Lib ってところに入れて,
環境変数でパスもちゃんと通してあげました.


次はとりあえずHellow,World!して,それを改変して遊ぼうか.
さっそく公式のサンプルをコピペ.
http://help.adobe.com/ja_JP/air/build/WS5b3ccc516d4fbf351e63e3d118666ade46-7ecc.html

これで対面,AIRアプリ……!

と思ったらエラー

D:\Works\Project\air\HelloWorld>adl HelloWorld-app.xml
invalid application descriptor: descriptor version does not match runtime version

なんかエラーでたー! 本家のコピペなのに!
「ですくりぷたー?のバージョンがランタイムのバージョンと違うわ死ね」ってことらしい?
よくわからないのでググってみると,

<application xmlns="http://ns.adobe.com/air/application/2.7"> 

ここの末尾のバージョンがSDKのバージョン以下だとダメ?みたいな感じ.
でもSDKは今さっきダウンロードしたんだから最新の2.7なのに……なんで?

そして犯人発覚

もしかしてadl.exeが他にもあったりしないだろうか?と思って捜索開始.
すると,

>where adl
D:\Lib\flex_sdk\bin\adl
D:\Lib\flex_sdk\bin\adl.exe
D:\Lib\AdobeAIRSDK\bin\adl.exe

OH! まさかのAdobeFlexSDKの中に同梱!
FlexSDKは昔ダウンロードしてそのままだったので,古いバージョンが動いてたっぽいです.
こいつぁ盲点だったぜぇ……

環境変数の順番を入れ替えて,先にAIR SDKのほうが読み込まれるように変更.
これですべて解決しましたとさ,やったね!

おまけ

もしかしてFlexSDKを最新版にすれば,AdobeAIR SDKって入れなくていいんじゃない?
と思ってさっそく更新してみたところ

invalid application descriptor: Unknown namespace: http://ns.adobe.com/air/appli
cation/2.7

普通にダメでしたとさ><

追記(2011/9/12)

どうも噂によるとAIR SDKFlex SDKに上書きしちゃっていいっぽい?
確かに入ってるファイル被ってるし……

さらに追記(2011/9/30)

コメントで教えていただきました!
やっぱり上書きするのが正しいそうです.

Flash Builder および Flash Professional での AIR SDK の使用

(略)

AIR SDK アーカイブの内容を展開し、既存の SDK ファイルを上書きします。

Adobe AIR 2 - Adobe AIR 開発者向けリリースノート

Adobe先生の言うことちゃんと聞かないとだめですね……
教えていただきありがとうございました!