AIR

Flex Builder 3 に Flex SDK 3.3 インストール そして、AIR 1.5.1 へ

Flex Builder 3 に Flex SDK 3.3 をインストールして、Flex SDK 3.1 でつくった AIR 1.1 アプリを AIR 1.5.1 で動作確認してみた。


Flex SDK 3.3 ダウンロード

Download Flex 3 - Flex SDK - Confluence
http://opensource.adobe.com/wiki/display/flexsdk/Download+Flex+3

flex_sdk_3.zip
Build 3.3.0.4852
(2008/03/09 現在)


AIR 1.5.1 ダウンロードとインストール

Adobe - Adobe AIR
http://get.adobe.com/jp/air/

AdobeAIRInstaller.exe


デバッグ用 Adobe Flash Player ダウンロードとインストール

Adobe Flash Player 10 -- Debugger Versions (aka debug players or content debuggers)

Adobe Flash Player - Downloads
http://www.adobe.com/support/flashplayer/downloads.html


Flex Builder 3 に Flex SDK 3.3 をインストール

C:\Program Files\Adobe\Flex Builder 3\sdks

この場所に 3.3.0.4852 ディレクトリをつくって、flex_sdk_3.3.0.4852.zip を解凍。


Flex Builder 3 設定

[ウィンドウ]_[設定]

[Flex]_[インストールされている Flex SDK]

[追加]ボタン をクリックします。


[Flex SDK を追加]

Flex SDK の場所:
C:\Program Files\Adobe\Flex Builder 3\sdks\3.3.0.4852

Flex SDK 名:
Flex 3.3

"Flex 3.3" にチェックをいれます。


[プロジェクト]_[プロパティー]

[Flex コンパイラ]_[追加コンパイラ引数]

-locale ja_JP
↓
-locale ja_JP -target-player=10


AIR 1.1 アプリを AIR 1.5.1 で動作確認

-app.xml ファイルの設定を変更します。

Base-app.xml


×エラー(デバッガへの接続が確立されずにプロセスが終了しました。)

AIR 1.5.1 をインストールしてるのにエラーがでた...。なので、-app.xml ファイルの設定を 1.5 に指定してみた。(AIR は 1.5.1 をインストールのまま)


○成功(1.5)

これで、起動に成功。いよいよ AIR 1.5.1 で動作確認する。


バグ

ローカルのファイルを操作するAIRアプリをデバッグしたところ、Flex SDK 3.1 では出現しなかった警告が Flex SDK 3.3 では表示された。

*** Security Sandbox Violation ***
SecurityDomain 'file:///Z:/Data/test.jpg' tried to access incompatible context 'app:/Base.swf'

このエラーは、Flex SDK 3.2 でもみられた。モヤモヤして過ごしてたら―

中垣 茂 さんのところで発見!
中垣 茂 ( Shigeru Nakagaki ) | ブログ ( Flex, AIR, ColdFusion ) | AIR 1.5.x :開発時に特定の条件下で出力される Security Sandbox Violation

この警告は、無視していいらしい。だったらダサないでほしい。


あと、Flex SDK 3.2 で発生してた UIから項目を削除するときのランタイム・エラー

at mx.managers::SystemManager/updateLastActiveForm()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:5087]
at mx.managers::SystemManager/activateForm()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:2352]
at mx.managers::SystemManager/activate()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\SystemManager.as:2307]
at mx.managers::FocusManager/creationCompleteHandler()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\FocusManager.as:1592]
at flash.events::EventDispatcher/dispatchEventFunction()
at flash.events::EventDispatcher/dispatchEvent()
at mx.core::UIComponent/dispatchEvent()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:9298]
at mx.core::UIComponent/set initialized()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:1169]
at mx.managers::LayoutManager/doPhasedInstantiation()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\managers\LayoutManager.as:718]
at Function/http://adobe.com/AS3/2006/builtin::apply()
at mx.core::UIComponent/callLaterDispatcher2()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8628]
at mx.core::UIComponent/callLaterDispatcher()[C:\autobuild\3.2.0\frameworks\projects\framework\src\mx\core\UIComponent.as:8568]

こちらはバグが修正されたようで、Flex SDK 3.3 では発生しなくなった。